From cea38b61eaf51b58ffc408dc48a5be7f099f4c34 Mon Sep 17 00:00:00 2001 From: "Stephen Hicks, N5AC" Date: Fri, 5 Sep 2014 21:48:37 -0500 Subject: [PATCH] Initial load of CODEC2/FreeDV software and wrapper --- DSP_API/.cproject | 249 + DSP_API/.project | 82 + .../org.eclipse.cdt.codan.core.prefs | 66 + DSP_API/CODEC2_FREEDV/_kiss_fft_guts.h | 164 + DSP_API/CODEC2_FREEDV/codebook.c | 245 + DSP_API/CODEC2_FREEDV/codebookd.c | 433 ++ DSP_API/CODEC2_FREEDV/codebookdt.c | 153 + DSP_API/CODEC2_FREEDV/codebookge.c | 279 ++ DSP_API/CODEC2_FREEDV/codebookjnd.c | 3496 ++++++++++++++ DSP_API/CODEC2_FREEDV/codebookjvm.c | 1579 ++++++ DSP_API/CODEC2_FREEDV/codebookvq.c | 4223 +++++++++++++++++ DSP_API/CODEC2_FREEDV/codebookvqanssi.c | 565 +++ DSP_API/CODEC2_FREEDV/codec2.c | 1521 ++++++ DSP_API/CODEC2_FREEDV/codec2.h | 76 + DSP_API/CODEC2_FREEDV/codec2_fdmdv.h | 128 + DSP_API/CODEC2_FREEDV/codec2_fifo.h | 51 + DSP_API/CODEC2_FREEDV/codec2_internal.h | 63 + DSP_API/CODEC2_FREEDV/comp.h | 38 + DSP_API/CODEC2_FREEDV/defines.h | 93 + DSP_API/CODEC2_FREEDV/dump.c | 629 +++ DSP_API/CODEC2_FREEDV/dump.h | 78 + DSP_API/CODEC2_FREEDV/fdmdv.c | 2004 ++++++++ DSP_API/CODEC2_FREEDV/fdmdv_internal.h | 193 + DSP_API/CODEC2_FREEDV/fifo.c | 142 + DSP_API/CODEC2_FREEDV/freedv_api.c | 398 ++ DSP_API/CODEC2_FREEDV/freedv_api.h | 78 + DSP_API/CODEC2_FREEDV/golay23.c | 418 ++ DSP_API/CODEC2_FREEDV/golay23.h | 44 + DSP_API/CODEC2_FREEDV/golaydectable.h | 2052 ++++++++ DSP_API/CODEC2_FREEDV/golayenctable.h | 4100 ++++++++++++++++ DSP_API/CODEC2_FREEDV/hanning.h | 644 +++ DSP_API/CODEC2_FREEDV/interp.c | 325 ++ DSP_API/CODEC2_FREEDV/interp.h | 45 + DSP_API/CODEC2_FREEDV/kiss_fft.c | 408 ++ DSP_API/CODEC2_FREEDV/kiss_fft.h | 124 + DSP_API/CODEC2_FREEDV/lpc.c | 306 ++ DSP_API/CODEC2_FREEDV/lpc.h | 43 + DSP_API/CODEC2_FREEDV/lsp.c | 321 ++ DSP_API/CODEC2_FREEDV/lsp.h | 37 + DSP_API/CODEC2_FREEDV/machdep.h | 52 + DSP_API/CODEC2_FREEDV/nlp.c | 589 +++ DSP_API/CODEC2_FREEDV/nlp.h | 38 + DSP_API/CODEC2_FREEDV/os.h | 53 + DSP_API/CODEC2_FREEDV/pack.c | 140 + DSP_API/CODEC2_FREEDV/phase.c | 199 + DSP_API/CODEC2_FREEDV/phase.h | 39 + DSP_API/CODEC2_FREEDV/pilot_coeff.h | 34 + DSP_API/CODEC2_FREEDV/postfilter.c | 142 + DSP_API/CODEC2_FREEDV/postfilter.h | 33 + DSP_API/CODEC2_FREEDV/quantise.c | 1946 ++++++++ DSP_API/CODEC2_FREEDV/quantise.h | 127 + DSP_API/CODEC2_FREEDV/rn.h | 964 ++++ DSP_API/CODEC2_FREEDV/rxdec_coeff.h | 35 + DSP_API/CODEC2_FREEDV/sine.c | 647 +++ DSP_API/CODEC2_FREEDV/sine.h | 47 + DSP_API/CODEC2_FREEDV/test_bits.h | 164 + DSP_API/CODEC2_FREEDV/varicode.c | 479 ++ DSP_API/CODEC2_FREEDV/varicode.h | 51 + DSP_API/CODEC2_FREEDV/varicode_table.h | 338 ++ DSP_API/DOCS/Documentation.txt | 36 + DSP_API/DOCS/FreeDV.cfg | 21 + DSP_API/Debug/CODEC2_FREEDV/codebook.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookd.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookdt.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookge.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookjnd.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookjvm.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookvq.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codebookvqanssi.d | 4 + DSP_API/Debug/CODEC2_FREEDV/codec2.d | 39 + DSP_API/Debug/CODEC2_FREEDV/dump.d | 14 + DSP_API/Debug/CODEC2_FREEDV/fdmdv.d | 29 + DSP_API/Debug/CODEC2_FREEDV/fifo.d | 4 + DSP_API/Debug/CODEC2_FREEDV/freedv_api.d | 17 + DSP_API/Debug/CODEC2_FREEDV/golay23.d | 9 + DSP_API/Debug/CODEC2_FREEDV/interp.d | 16 + DSP_API/Debug/CODEC2_FREEDV/kiss_fft.d | 7 + DSP_API/Debug/CODEC2_FREEDV/lpc.d | 6 + DSP_API/Debug/CODEC2_FREEDV/lsp.d | 6 + DSP_API/Debug/CODEC2_FREEDV/nlp.d | 19 + DSP_API/Debug/CODEC2_FREEDV/pack.d | 11 + DSP_API/Debug/CODEC2_FREEDV/phase.d | 14 + DSP_API/Debug/CODEC2_FREEDV/postfilter.d | 19 + DSP_API/Debug/CODEC2_FREEDV/quantise.d | 24 + DSP_API/Debug/CODEC2_FREEDV/sine.d | 11 + DSP_API/Debug/CODEC2_FREEDV/subdir.mk | 96 + DSP_API/Debug/CODEC2_FREEDV/varicode.d | 7 + DSP_API/Debug/SmartSDR_Interface/cmd_basics.d | 55 + DSP_API/Debug/SmartSDR_Interface/cmd_engine.d | 60 + .../SmartSDR_Interface/discovery_client.d | 59 + DSP_API/Debug/SmartSDR_Interface/hal_buffer.d | 53 + .../Debug/SmartSDR_Interface/hal_listener.d | 70 + DSP_API/Debug/SmartSDR_Interface/hal_vita.d | 57 + DSP_API/Debug/SmartSDR_Interface/io_utils.d | 49 + .../Debug/SmartSDR_Interface/sched_waveform.d | 79 + .../SmartSDR_Interface/smartsdr_dsp_api.d | 63 + .../SmartSDR_Interface/status_processor.d | 54 + DSP_API/Debug/SmartSDR_Interface/subdir.mk | 60 + .../Debug/SmartSDR_Interface/traffic_cop.d | 56 + DSP_API/Debug/SmartSDR_Interface/utils.d | 49 + .../Debug/SmartSDR_Interface/vita_output.d | 56 + DSP_API/Debug/circular_buffer.d | 4 + DSP_API/Debug/freedv | Bin 0 -> 2168301 bytes DSP_API/Debug/main.d | 52 + DSP_API/Debug/makefile | 65 + DSP_API/Debug/objects.mk | 8 + DSP_API/Debug/resampler.d | 3 + DSP_API/Debug/sources.mk | 29 + DSP_API/Debug/subdir.mk | 30 + DSP_API/Release/CODEC2_FREEDV/codebook.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookd.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookdt.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookge.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookjnd.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookjvm.d | 4 + DSP_API/Release/CODEC2_FREEDV/codebookvq.d | 4 + .../Release/CODEC2_FREEDV/codebookvqanssi.d | 4 + DSP_API/Release/CODEC2_FREEDV/codec2.d | 39 + DSP_API/Release/CODEC2_FREEDV/dump.d | 14 + DSP_API/Release/CODEC2_FREEDV/fdmdv.d | 29 + DSP_API/Release/CODEC2_FREEDV/fifo.d | 4 + DSP_API/Release/CODEC2_FREEDV/freedv_api.d | 17 + DSP_API/Release/CODEC2_FREEDV/golay23.d | 9 + DSP_API/Release/CODEC2_FREEDV/interp.d | 16 + DSP_API/Release/CODEC2_FREEDV/kiss_fft.d | 7 + DSP_API/Release/CODEC2_FREEDV/lpc.d | 6 + DSP_API/Release/CODEC2_FREEDV/lsp.d | 6 + DSP_API/Release/CODEC2_FREEDV/nlp.d | 19 + DSP_API/Release/CODEC2_FREEDV/pack.d | 11 + DSP_API/Release/CODEC2_FREEDV/phase.d | 14 + DSP_API/Release/CODEC2_FREEDV/postfilter.d | 19 + DSP_API/Release/CODEC2_FREEDV/quantise.d | 24 + DSP_API/Release/CODEC2_FREEDV/sine.d | 11 + DSP_API/Release/CODEC2_FREEDV/subdir.mk | 96 + DSP_API/Release/CODEC2_FREEDV/varicode.d | 7 + .../Release/SmartSDR_Interface/cmd_basics.d | 63 + .../Release/SmartSDR_Interface/cmd_engine.d | 63 + .../Release/SmartSDR_Interface/hal_buffer.d | 60 + .../Release/SmartSDR_Interface/hal_listener.d | 2 + DSP_API/Release/SmartSDR_Interface/hal_vita.d | 63 + DSP_API/Release/SmartSDR_Interface/io_utils.d | 55 + .../SmartSDR_Interface/smartsdr_dsp_api.d | 57 + .../SmartSDR_Interface/status_processor.d | 54 + DSP_API/Release/SmartSDR_Interface/subdir.mk | 54 + .../Release/SmartSDR_Interface/traffic_cop.d | 59 + DSP_API/Release/SmartSDR_Interface/utils.d | 52 + .../Release/SmartSDR_Interface/vita_output.d | 2 + DSP_API/Release/circular_buffer.d | 4 + DSP_API/Release/freedv | Bin 0 -> 419056 bytes DSP_API/Release/main.d | 69 + DSP_API/Release/makefile | 65 + DSP_API/Release/objects.mk | 8 + DSP_API/Release/resampler.d | 3 + DSP_API/Release/sources.mk | 29 + DSP_API/Release/subdir.mk | 30 + DSP_API/SmartSDR_Interface/cmd.h | 81 + DSP_API/SmartSDR_Interface/cmd_basics.c | 282 ++ DSP_API/SmartSDR_Interface/cmd_engine.c | 347 ++ DSP_API/SmartSDR_Interface/complex.h | 61 + DSP_API/SmartSDR_Interface/datatypes.h | 65 + DSP_API/SmartSDR_Interface/discovery_client.c | 320 ++ DSP_API/SmartSDR_Interface/discovery_client.h | 54 + DSP_API/SmartSDR_Interface/hal_buffer.c | 133 + DSP_API/SmartSDR_Interface/hal_buffer.h | 83 + DSP_API/SmartSDR_Interface/hal_listener.c | 568 +++ DSP_API/SmartSDR_Interface/hal_listener.h | 115 + DSP_API/SmartSDR_Interface/hal_vita.c | 67 + DSP_API/SmartSDR_Interface/hal_vita.h | 39 + DSP_API/SmartSDR_Interface/io_utils.c | 58 + DSP_API/SmartSDR_Interface/io_utils.h | 50 + DSP_API/SmartSDR_Interface/sched_waveform.c | 703 +++ DSP_API/SmartSDR_Interface/sched_waveform.h | 45 + DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c | 307 ++ DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h | 52 + DSP_API/SmartSDR_Interface/status_processor.c | 207 + DSP_API/SmartSDR_Interface/status_processor.h | 40 + DSP_API/SmartSDR_Interface/stream.h | 72 + DSP_API/SmartSDR_Interface/traffic_cop.c | 612 +++ DSP_API/SmartSDR_Interface/traffic_cop.h | 68 + DSP_API/SmartSDR_Interface/utils.c | 142 + DSP_API/SmartSDR_Interface/utils.h | 49 + DSP_API/SmartSDR_Interface/vita.h | 138 + DSP_API/SmartSDR_Interface/vita49_context.h | 127 + DSP_API/SmartSDR_Interface/vita_output.c | 204 + DSP_API/SmartSDR_Interface/vita_output.h | 50 + DSP_API/circular_buffer.c | 251 + DSP_API/circular_buffer.h | 83 + DSP_API/common.h | 84 + DSP_API/main.c | 246 + DSP_API/main.h | 31 + DSP_API/resampler.c | 177 + DSP_API/resampler.h | 42 + README.md | 19 + pc/CODEC2 GUI/CODEC2 GUI.sln | 64 + pc/CODEC2 GUI/CODEC2 GUI/CODEC2 GUI.csproj | 97 + pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs | 63 + pc/CODEC2 GUI/CODEC2 GUI/Form1.cs | 493 ++ pc/CODEC2 GUI/CODEC2 GUI/Form1.resx | 120 + pc/CODEC2 GUI/CODEC2 GUI/Program.cs | 52 + .../CODEC2 GUI/Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 71 + .../CODEC2 GUI/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../CODEC2 GUI/Properties/Settings.settings | 7 + 204 files changed, 41852 insertions(+) create mode 100644 DSP_API/.cproject create mode 100644 DSP_API/.project create mode 100644 DSP_API/.settings/org.eclipse.cdt.codan.core.prefs create mode 100644 DSP_API/CODEC2_FREEDV/_kiss_fft_guts.h create mode 100644 DSP_API/CODEC2_FREEDV/codebook.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookd.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookdt.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookge.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookjnd.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookjvm.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookvq.c create mode 100644 DSP_API/CODEC2_FREEDV/codebookvqanssi.c create mode 100644 DSP_API/CODEC2_FREEDV/codec2.c create mode 100644 DSP_API/CODEC2_FREEDV/codec2.h create mode 100644 DSP_API/CODEC2_FREEDV/codec2_fdmdv.h create mode 100644 DSP_API/CODEC2_FREEDV/codec2_fifo.h create mode 100644 DSP_API/CODEC2_FREEDV/codec2_internal.h create mode 100644 DSP_API/CODEC2_FREEDV/comp.h create mode 100644 DSP_API/CODEC2_FREEDV/defines.h create mode 100644 DSP_API/CODEC2_FREEDV/dump.c create mode 100644 DSP_API/CODEC2_FREEDV/dump.h create mode 100644 DSP_API/CODEC2_FREEDV/fdmdv.c create mode 100644 DSP_API/CODEC2_FREEDV/fdmdv_internal.h create mode 100644 DSP_API/CODEC2_FREEDV/fifo.c create mode 100644 DSP_API/CODEC2_FREEDV/freedv_api.c create mode 100644 DSP_API/CODEC2_FREEDV/freedv_api.h create mode 100644 DSP_API/CODEC2_FREEDV/golay23.c create mode 100644 DSP_API/CODEC2_FREEDV/golay23.h create mode 100644 DSP_API/CODEC2_FREEDV/golaydectable.h create mode 100644 DSP_API/CODEC2_FREEDV/golayenctable.h create mode 100644 DSP_API/CODEC2_FREEDV/hanning.h create mode 100644 DSP_API/CODEC2_FREEDV/interp.c create mode 100644 DSP_API/CODEC2_FREEDV/interp.h create mode 100644 DSP_API/CODEC2_FREEDV/kiss_fft.c create mode 100644 DSP_API/CODEC2_FREEDV/kiss_fft.h create mode 100644 DSP_API/CODEC2_FREEDV/lpc.c create mode 100644 DSP_API/CODEC2_FREEDV/lpc.h create mode 100644 DSP_API/CODEC2_FREEDV/lsp.c create mode 100644 DSP_API/CODEC2_FREEDV/lsp.h create mode 100644 DSP_API/CODEC2_FREEDV/machdep.h create mode 100644 DSP_API/CODEC2_FREEDV/nlp.c create mode 100644 DSP_API/CODEC2_FREEDV/nlp.h create mode 100644 DSP_API/CODEC2_FREEDV/os.h create mode 100644 DSP_API/CODEC2_FREEDV/pack.c create mode 100644 DSP_API/CODEC2_FREEDV/phase.c create mode 100644 DSP_API/CODEC2_FREEDV/phase.h create mode 100644 DSP_API/CODEC2_FREEDV/pilot_coeff.h create mode 100644 DSP_API/CODEC2_FREEDV/postfilter.c create mode 100644 DSP_API/CODEC2_FREEDV/postfilter.h create mode 100644 DSP_API/CODEC2_FREEDV/quantise.c create mode 100644 DSP_API/CODEC2_FREEDV/quantise.h create mode 100644 DSP_API/CODEC2_FREEDV/rn.h create mode 100644 DSP_API/CODEC2_FREEDV/rxdec_coeff.h create mode 100644 DSP_API/CODEC2_FREEDV/sine.c create mode 100644 DSP_API/CODEC2_FREEDV/sine.h create mode 100644 DSP_API/CODEC2_FREEDV/test_bits.h create mode 100644 DSP_API/CODEC2_FREEDV/varicode.c create mode 100644 DSP_API/CODEC2_FREEDV/varicode.h create mode 100644 DSP_API/CODEC2_FREEDV/varicode_table.h create mode 100644 DSP_API/DOCS/Documentation.txt create mode 100644 DSP_API/DOCS/FreeDV.cfg create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebook.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookd.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookdt.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookge.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookjnd.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookjvm.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookvq.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codebookvqanssi.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/codec2.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/dump.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/fdmdv.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/fifo.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/freedv_api.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/golay23.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/interp.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/kiss_fft.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/lpc.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/lsp.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/nlp.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/pack.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/phase.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/postfilter.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/quantise.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/sine.d create mode 100644 DSP_API/Debug/CODEC2_FREEDV/subdir.mk create mode 100644 DSP_API/Debug/CODEC2_FREEDV/varicode.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/cmd_basics.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/cmd_engine.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/discovery_client.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/hal_buffer.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/hal_listener.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/hal_vita.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/io_utils.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/sched_waveform.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/smartsdr_dsp_api.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/status_processor.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/subdir.mk create mode 100644 DSP_API/Debug/SmartSDR_Interface/traffic_cop.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/utils.d create mode 100644 DSP_API/Debug/SmartSDR_Interface/vita_output.d create mode 100644 DSP_API/Debug/circular_buffer.d create mode 100755 DSP_API/Debug/freedv create mode 100644 DSP_API/Debug/main.d create mode 100644 DSP_API/Debug/makefile create mode 100644 DSP_API/Debug/objects.mk create mode 100644 DSP_API/Debug/resampler.d create mode 100644 DSP_API/Debug/sources.mk create mode 100644 DSP_API/Debug/subdir.mk create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebook.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookd.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookdt.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookge.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookjnd.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookjvm.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookvq.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codebookvqanssi.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/codec2.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/dump.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/fdmdv.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/fifo.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/freedv_api.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/golay23.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/interp.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/kiss_fft.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/lpc.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/lsp.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/nlp.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/pack.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/phase.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/postfilter.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/quantise.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/sine.d create mode 100644 DSP_API/Release/CODEC2_FREEDV/subdir.mk create mode 100644 DSP_API/Release/CODEC2_FREEDV/varicode.d create mode 100644 DSP_API/Release/SmartSDR_Interface/cmd_basics.d create mode 100644 DSP_API/Release/SmartSDR_Interface/cmd_engine.d create mode 100644 DSP_API/Release/SmartSDR_Interface/hal_buffer.d create mode 100644 DSP_API/Release/SmartSDR_Interface/hal_listener.d create mode 100644 DSP_API/Release/SmartSDR_Interface/hal_vita.d create mode 100644 DSP_API/Release/SmartSDR_Interface/io_utils.d create mode 100644 DSP_API/Release/SmartSDR_Interface/smartsdr_dsp_api.d create mode 100644 DSP_API/Release/SmartSDR_Interface/status_processor.d create mode 100644 DSP_API/Release/SmartSDR_Interface/subdir.mk create mode 100644 DSP_API/Release/SmartSDR_Interface/traffic_cop.d create mode 100644 DSP_API/Release/SmartSDR_Interface/utils.d create mode 100644 DSP_API/Release/SmartSDR_Interface/vita_output.d create mode 100644 DSP_API/Release/circular_buffer.d create mode 100755 DSP_API/Release/freedv create mode 100644 DSP_API/Release/main.d create mode 100644 DSP_API/Release/makefile create mode 100644 DSP_API/Release/objects.mk create mode 100644 DSP_API/Release/resampler.d create mode 100644 DSP_API/Release/sources.mk create mode 100644 DSP_API/Release/subdir.mk create mode 100644 DSP_API/SmartSDR_Interface/cmd.h create mode 100644 DSP_API/SmartSDR_Interface/cmd_basics.c create mode 100644 DSP_API/SmartSDR_Interface/cmd_engine.c create mode 100644 DSP_API/SmartSDR_Interface/complex.h create mode 100644 DSP_API/SmartSDR_Interface/datatypes.h create mode 100644 DSP_API/SmartSDR_Interface/discovery_client.c create mode 100644 DSP_API/SmartSDR_Interface/discovery_client.h create mode 100644 DSP_API/SmartSDR_Interface/hal_buffer.c create mode 100644 DSP_API/SmartSDR_Interface/hal_buffer.h create mode 100644 DSP_API/SmartSDR_Interface/hal_listener.c create mode 100644 DSP_API/SmartSDR_Interface/hal_listener.h create mode 100644 DSP_API/SmartSDR_Interface/hal_vita.c create mode 100644 DSP_API/SmartSDR_Interface/hal_vita.h create mode 100644 DSP_API/SmartSDR_Interface/io_utils.c create mode 100644 DSP_API/SmartSDR_Interface/io_utils.h create mode 100644 DSP_API/SmartSDR_Interface/sched_waveform.c create mode 100644 DSP_API/SmartSDR_Interface/sched_waveform.h create mode 100644 DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c create mode 100644 DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h create mode 100644 DSP_API/SmartSDR_Interface/status_processor.c create mode 100644 DSP_API/SmartSDR_Interface/status_processor.h create mode 100644 DSP_API/SmartSDR_Interface/stream.h create mode 100644 DSP_API/SmartSDR_Interface/traffic_cop.c create mode 100644 DSP_API/SmartSDR_Interface/traffic_cop.h create mode 100644 DSP_API/SmartSDR_Interface/utils.c create mode 100644 DSP_API/SmartSDR_Interface/utils.h create mode 100644 DSP_API/SmartSDR_Interface/vita.h create mode 100644 DSP_API/SmartSDR_Interface/vita49_context.h create mode 100644 DSP_API/SmartSDR_Interface/vita_output.c create mode 100644 DSP_API/SmartSDR_Interface/vita_output.h create mode 100644 DSP_API/circular_buffer.c create mode 100644 DSP_API/circular_buffer.h create mode 100644 DSP_API/common.h create mode 100644 DSP_API/main.c create mode 100644 DSP_API/main.h create mode 100644 DSP_API/resampler.c create mode 100644 DSP_API/resampler.h create mode 100644 README.md create mode 100644 pc/CODEC2 GUI/CODEC2 GUI.sln create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/CODEC2 GUI.csproj create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Form1.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Form1.resx create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Program.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Properties/AssemblyInfo.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Properties/Resources.Designer.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Properties/Resources.resx create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Properties/Settings.Designer.cs create mode 100644 pc/CODEC2 GUI/CODEC2 GUI/Properties/Settings.settings diff --git a/DSP_API/.cproject b/DSP_API/.cproject new file mode 100644 index 0000000..2711762 --- /dev/null +++ b/DSP_API/.cproject @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DSP_API/.project b/DSP_API/.project new file mode 100644 index 0000000..9f98781 --- /dev/null +++ b/DSP_API/.project @@ -0,0 +1,82 @@ + + + DSP_API + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.autoBuildTarget + all + + + org.eclipse.cdt.make.core.buildArguments + -k -j + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:../../bin} + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + true + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + all + + + org.eclipse.cdt.make.core.stopOnError + false + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + false + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + org.eclipse.cdt.core.ccnature + + diff --git a/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs b/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 0000000..5b5e2e8 --- /dev/null +++ b/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,66 @@ +#Sun Aug 31 19:31:58 CDT 2014 +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/DSP_API/CODEC2_FREEDV/_kiss_fft_guts.h b/DSP_API/CODEC2_FREEDV/_kiss_fft_guts.h new file mode 100644 index 0000000..ba66144 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/_kiss_fft_guts.h @@ -0,0 +1,164 @@ +/* +Copyright (c) 2003-2010, Mark Borgerding + +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 author nor the names of any 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. +*/ + +/* kiss_fft.h + defines kiss_fft_scalar as either short or a float type + and defines + typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ +#include "kiss_fft.h" +#include + +#define MAXFACTORS 32 +/* e.g. an fft of length 128 has 4 factors + as far as kissfft is concerned + 4*4*4*2 + */ + +struct kiss_fft_state{ + int nfft; + int inverse; + int factors[2*MAXFACTORS]; + kiss_fft_cpx twiddles[1]; +}; + +/* + Explanation of macros dealing with complex math: + + C_MUL(m,a,b) : m = a*b + C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise + C_SUB( res, a,b) : res = a - b + C_SUBFROM( res , a) : res -= a + C_ADDTO( res , a) : res += a + * */ +#ifdef FIXED_POINT +#if (FIXED_POINT==32) +# define FRACBITS 31 +# define SAMPPROD int64_t +#define SAMP_MAX 2147483647 +#else +# define FRACBITS 15 +# define SAMPPROD int32_t +#define SAMP_MAX 32767 +#endif + +#define SAMP_MIN -SAMP_MAX + +#if defined(CHECK_OVERFLOW) +# define CHECK_OVERFLOW_OP(a,op,b) \ + if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \ + fprintf(stderr,"WARNING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPROD)(b) ); } +#endif + + +# define smul(a,b) ( (SAMPPROD)(a)*(b) ) +# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS ) + +# define S_MUL(a,b) sround( smul(a,b) ) + +# define C_MUL(m,a,b) \ + do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \ + (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0) + +# define DIVSCALAR(x,k) \ + (x) = sround( smul( x, SAMP_MAX/k ) ) + +# define C_FIXDIV(c,div) \ + do { DIVSCALAR( (c).r , div); \ + DIVSCALAR( (c).i , div); }while (0) + +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r = sround( smul( (c).r , s ) ) ;\ + (c).i = sround( smul( (c).i , s ) ) ; }while(0) + +#else /* not FIXED_POINT*/ + +# define S_MUL(a,b) ( (a)*(b) ) +#define C_MUL(m,a,b) \ + do{ (m).r = (a).r*(b).r - (a).i*(b).i;\ + (m).i = (a).r*(b).i + (a).i*(b).r; }while(0) +# define C_FIXDIV(c,div) /* NOOP */ +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r *= (s);\ + (c).i *= (s); }while(0) +#endif + +#ifndef CHECK_OVERFLOW_OP +# define CHECK_OVERFLOW_OP(a,op,b) /* noop */ +#endif + +#define C_ADD( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,+,(b).r)\ + CHECK_OVERFLOW_OP((a).i,+,(b).i)\ + (res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \ + }while(0) +#define C_SUB( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,-,(b).r)\ + CHECK_OVERFLOW_OP((a).i,-,(b).i)\ + (res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \ + }while(0) +#define C_ADDTO( res , a)\ + do { \ + CHECK_OVERFLOW_OP((res).r,+,(a).r)\ + CHECK_OVERFLOW_OP((res).i,+,(a).i)\ + (res).r += (a).r; (res).i += (a).i;\ + }while(0) + +#define C_SUBFROM( res , a)\ + do {\ + CHECK_OVERFLOW_OP((res).r,-,(a).r)\ + CHECK_OVERFLOW_OP((res).i,-,(a).i)\ + (res).r -= (a).r; (res).i -= (a).i; \ + }while(0) + + +#ifdef FIXED_POINT +# define KISS_FFT_COS(phase) floor(.5+SAMP_MAX * cos (phase)) +# define KISS_FFT_SIN(phase) floor(.5+SAMP_MAX * sin (phase)) +# define HALF_OF(x) ((x)>>1) +#elif defined(USE_SIMD) +# define KISS_FFT_COS(phase) _mm_set1_ps( cos(phase) ) +# define KISS_FFT_SIN(phase) _mm_set1_ps( sin(phase) ) +# define HALF_OF(x) ((x)*_mm_set1_ps(.5)) +#else +# define KISS_FFT_COS(phase) (kiss_fft_scalar) cos(phase) +# define KISS_FFT_SIN(phase) (kiss_fft_scalar) sin(phase) +# define HALF_OF(x) ((x)*.5) +#endif + +#define kf_cexp(x,phase) \ + do{ \ + (x)->r = KISS_FFT_COS(phase);\ + (x)->i = KISS_FFT_SIN(phase);\ + }while(0) + + +/* a debugging function */ +#define pcpx(c)\ + fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) ) + + +#ifdef KISS_FFT_USE_ALLOCA +// define this to allow use of alloca instead of malloc for temporary buffers +// Temporary buffers are used in two case: +// 1. FFT sizes that have "bad" factors. i.e. not 2,3 and 5 +// 2. "in-place" FFTs. Notice the quotes, since kissfft does not really do an in-place transform. +#include +#define KISS_FFT_TMP_ALLOC(nbytes) alloca(nbytes) +#define KISS_FFT_TMP_FREE(ptr) +#else +#define KISS_FFT_TMP_ALLOC(nbytes) KISS_FFT_MALLOC(nbytes) +#define KISS_FFT_TMP_FREE(ptr) KISS_FFT_FREE(ptr) +#endif diff --git a/DSP_API/CODEC2_FREEDV/codebook.c b/DSP_API/CODEC2_FREEDV/codebook.c new file mode 100644 index 0000000..70e1d2a --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebook.c @@ -0,0 +1,245 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lsp1.txt */ +static const float codes0[] = { + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600 +}; + /* codebook/lsp2.txt */ +static const float codes1[] = { + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700 +}; + /* codebook/lsp3.txt */ +static const float codes2[] = { + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250 +}; + /* codebook/lsp4.txt */ +static const float codes3[] = { + 700, + 800, + 900, + 1000, + 1100, + 1200, + 1300, + 1400, + 1500, + 1600, + 1700, + 1800, + 1900, + 2000, + 2100, + 2200 +}; + /* codebook/lsp5.txt */ +static const float codes4[] = { + 950, + 1050, + 1150, + 1250, + 1350, + 1450, + 1550, + 1650, + 1750, + 1850, + 1950, + 2050, + 2150, + 2250, + 2350, + 2450 +}; + /* codebook/lsp6.txt */ +static const float codes5[] = { + 1100, + 1200, + 1300, + 1400, + 1500, + 1600, + 1700, + 1800, + 1900, + 2000, + 2100, + 2200, + 2300, + 2400, + 2500, + 2600 +}; + /* codebook/lsp7.txt */ +static const float codes6[] = { + 1500, + 1600, + 1700, + 1800, + 1900, + 2000, + 2100, + 2200, + 2300, + 2400, + 2500, + 2600, + 2700, + 2800, + 2900, + 3000 +}; + /* codebook/lsp8.txt */ +static const float codes7[] = { + 2300, + 2400, + 2500, + 2600, + 2700, + 2800, + 2900, + 3000 +}; + /* codebook/lsp9.txt */ +static const float codes8[] = { + 2500, + 2600, + 2700, + 2800, + 2900, + 3000, + 3100, + 3200 +}; + /* codebook/lsp10.txt */ +static const float codes9[] = { + 2900, + 3100, + 3300, + 3500 +}; + +const struct lsp_codebook lsp_cb[] = { + /* codebook/lsp1.txt */ + { + 1, + 4, + 16, + codes0 + }, + /* codebook/lsp2.txt */ + { + 1, + 4, + 16, + codes1 + }, + /* codebook/lsp3.txt */ + { + 1, + 4, + 16, + codes2 + }, + /* codebook/lsp4.txt */ + { + 1, + 4, + 16, + codes3 + }, + /* codebook/lsp5.txt */ + { + 1, + 4, + 16, + codes4 + }, + /* codebook/lsp6.txt */ + { + 1, + 4, + 16, + codes5 + }, + /* codebook/lsp7.txt */ + { + 1, + 4, + 16, + codes6 + }, + /* codebook/lsp8.txt */ + { + 1, + 3, + 8, + codes7 + }, + /* codebook/lsp9.txt */ + { + 1, + 3, + 8, + codes8 + }, + /* codebook/lsp10.txt */ + { + 1, + 2, + 4, + codes9 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookd.c b/DSP_API/CODEC2_FREEDV/codebookd.c new file mode 100644 index 0000000..48c35cf --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookd.c @@ -0,0 +1,433 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/dlsp1.txt */ +static const float codes0[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp2.txt */ +static const float codes1[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp3.txt */ +static const float codes2[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp4.txt */ +static const float codes3[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 250, + 300, + 350, + 400, + 450, + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250, + 1300, + 1350, + 1400 +}; + /* codebook/dlsp5.txt */ +static const float codes4[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 250, + 300, + 350, + 400, + 450, + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250, + 1300, + 1350, + 1400 +}; + /* codebook/dlsp6.txt */ +static const float codes5[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 250, + 300, + 350, + 400, + 450, + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250, + 1300, + 1350, + 1400 +}; + /* codebook/dlsp7.txt */ +static const float codes6[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp8.txt */ +static const float codes7[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp9.txt */ +static const float codes8[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + /* codebook/dlsp10.txt */ +static const float codes9[] = { + 25, + 50, + 75, + 100, + 125, + 150, + 175, + 200, + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800 +}; + +const struct lsp_codebook lsp_cbd[] = { + /* codebook/dlsp1.txt */ + { + 1, + 5, + 32, + codes0 + }, + /* codebook/dlsp2.txt */ + { + 1, + 5, + 32, + codes1 + }, + /* codebook/dlsp3.txt */ + { + 1, + 5, + 32, + codes2 + }, + /* codebook/dlsp4.txt */ + { + 1, + 5, + 32, + codes3 + }, + /* codebook/dlsp5.txt */ + { + 1, + 5, + 32, + codes4 + }, + /* codebook/dlsp6.txt */ + { + 1, + 5, + 32, + codes5 + }, + /* codebook/dlsp7.txt */ + { + 1, + 5, + 32, + codes6 + }, + /* codebook/dlsp8.txt */ + { + 1, + 5, + 32, + codes7 + }, + /* codebook/dlsp9.txt */ + { + 1, + 5, + 32, + codes8 + }, + /* codebook/dlsp10.txt */ + { + 1, + 5, + 32, + codes9 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookdt.c b/DSP_API/CODEC2_FREEDV/codebookdt.c new file mode 100644 index 0000000..a80c6e4 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookdt.c @@ -0,0 +1,153 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lspdt1.txt */ +static const float codes0[] = { + -75, + -50, + -25, + 0, + 25, + 50, + 75, + 100 +}; + /* codebook/lspdt2.txt */ +static const float codes1[] = { + -75, + -50, + -25, + 0, + 25, + 50, + 75, + 100 +}; + /* codebook/lspdt3.txt */ +static const float codes2[] = { + -50, + 0, + 50, + 100 +}; + /* codebook/lspdt4.txt */ +static const float codes3[] = { + -50, + 0, + 50, + 100 +}; + /* codebook/lspdt5.txt */ +static const float codes4[] = { + -50, + 0, + 50, + 100 +}; + /* codebook/lspdt6.txt */ +static const float codes5[] = { + -50, + 0, + 50, + 100 +}; + /* codebook/lspdt7.txt */ +static const float codes6[] = { + -50, + 50 +}; + /* codebook/lspdt8.txt */ +static const float codes7[] = { + -50, + 50 +}; + /* codebook/lspdt9.txt */ +static const float codes8[] = { + -50, + 50 +}; + /* codebook/lspdt10.txt */ +static const float codes9[] = { + -50, + 50 +}; + +const struct lsp_codebook lsp_cbdt[] = { + /* codebook/lspdt1.txt */ + { + 1, + 3, + 8, + codes0 + }, + /* codebook/lspdt2.txt */ + { + 1, + 3, + 8, + codes1 + }, + /* codebook/lspdt3.txt */ + { + 1, + 2, + 4, + codes2 + }, + /* codebook/lspdt4.txt */ + { + 1, + 2, + 4, + codes3 + }, + /* codebook/lspdt5.txt */ + { + 1, + 2, + 4, + codes4 + }, + /* codebook/lspdt6.txt */ + { + 1, + 2, + 4, + codes5 + }, + /* codebook/lspdt7.txt */ + { + 1, + 1, + 2, + codes6 + }, + /* codebook/lspdt8.txt */ + { + 1, + 1, + 2, + codes7 + }, + /* codebook/lspdt9.txt */ + { + 1, + 1, + 2, + codes8 + }, + /* codebook/lspdt10.txt */ + { + 1, + 1, + 2, + codes9 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookge.c b/DSP_API/CODEC2_FREEDV/codebookge.c new file mode 100644 index 0000000..9472272 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookge.c @@ -0,0 +1,279 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/gecb.txt */ +static const float codes0[] = { + 2.71, 12.0184, + 0.04675, -2.73881, + 0.120993, 8.38895, + -1.58028, -0.892307, + 1.19307, -1.91561, + 0.187101, -3.27679, + 0.332251, -7.66455, + -1.47944, 31.2461, + 1.52761, 27.7095, + -0.524379, 5.25012, + 0.55333, 7.4388, + -0.843451, -1.95299, + 2.26389, 8.61029, + 0.143143, 2.36549, + 0.616506, 1.28427, + -1.71133, 22.0967, + 1.00813, 17.3965, + -0.106718, 1.41891, + -0.136246, 14.2736, + -1.70909, -20.5319, + 1.65787, -3.39107, + 0.138049, -4.95785, + 0.536729, -1.94375, + 0.196307, 36.8519, + 1.27248, 22.5565, + -0.670219, -1.90604, + 0.382092, 6.40113, + -0.756911, -4.90102, + 1.82931, 4.6138, + 0.318794, 0.73683, + 0.612815, -2.07505, + -0.410151, 24.7871, + 1.77602, 13.1909, + 0.106457, -0.104492, + 0.192206, 10.1838, + -1.82442, -7.71565, + 0.931346, 4.34835, + 0.308813, -4.086, + 0.397143, -11.8089, + -0.048715, 41.2273, + 0.877342, 35.8503, + -0.759794, 0.476634, + 0.978593, 7.67467, + -1.19506, 3.03883, + 2.63989, -3.41106, + 0.191127, 3.60351, + 0.402932, 1.0843, + -2.15202, 18.1076, + 1.5468, 8.32271, + -0.143089, -4.07592, + -0.150142, 5.86674, + -1.40844, -3.2507, + 1.56615, -10.4132, + 0.178171, -10.2267, + 0.362164, -0.028556, + -0.070125, 24.3907, + 0.594752, 17.4828, + -0.28698, -6.90407, + 0.464818, 10.2055, + -1.00684, -14.3572, + 2.32957, -3.69161, + 0.335745, 2.40714, + 1.01966, -3.15565, + -1.25945, 7.9919, + 2.38369, 19.6806, + -0.094947, -2.41374, + 0.20933, 6.66477, + -2.22103, 1.37986, + 1.29239, 2.04633, + 0.243626, -0.890741, + 0.428773, -7.19366, + -1.11374, 41.3414, + 2.6098, 31.1405, + -0.446468, 2.53419, + 0.490104, 4.62757, + -1.11723, -3.24174, + 1.79156, 8.41493, + 0.156012, 0.183336, + 0.532447, 3.15455, + -0.764484, 18.514, + 0.952395, 11.7713, + -0.332567, 0.346987, + 0.202165, 14.7168, + -2.12924, -15.559, + 1.35358, -1.92679, + -0.010963, -16.3364, + 0.399053, -2.79057, + 0.750657, 31.1483, + 0.655743, 24.4819, + -0.45321, -0.735879, + 0.2869, 6.5467, + -0.715673, -12.3578, + 1.54849, 3.87217, + 0.271874, 0.802339, + 0.502073, -4.85485, + -0.497037, 17.7619, + 1.19116, 13.9544, + 0.01563, 1.33157, + 0.341867, 8.93537, + -2.31601, -5.39506, + 0.75861, 1.9645, + 0.24132, -3.23769, + 0.267151, -11.2344, + -0.273126, 32.6248, + 1.75352, 40.432, + -0.784011, 3.04576, + 0.705987, 5.66118, + -1.3864, 1.35356, + 2.37646, 1.67485, + 0.242973, 4.73218, + 0.491227, 0.354061, + -1.60676, 8.65895, + 1.16711, 5.9871, + -0.137601, -12.0417, + -0.251375, 10.3972, + -1.43151, -8.90411, + 0.98828, -13.209, + 0.261484, -6.35497, + 0.395932, -0.702529, + 0.283704, 26.8996, + 0.420959, 15.4418, + -0.355804, -13.7278, + 0.527372, 12.3985, + -1.16956, -15.9985, + 1.90669, -5.81605, + 0.354492, 3.85157, + 0.82576, -4.16264, + -0.49019, 13.0572, + 2.25577, 13.5264, + -0.004956, -3.23713, + 0.026709, 7.86645, + -1.81037, -0.451183, + 1.08383, -0.18362, + 0.135836, -2.26658, + 0.375812, -5.51225, + -1.96644, 38.6829, + 1.97799, 24.5655, + -0.704656, 6.35881, + 0.480786, 7.05175, + -0.976417, -2.42273, + 2.50215, 6.75935, + 0.083588, 3.2588, + 0.543629, 0.910013, + -1.23196, 23.0915, + 0.785492, 14.807, + -0.213554, 1.688, + 0.004748, 18.1718, + -1.54719, -16.1168, + 1.50104, -3.28114, + 0.080133, -4.63472, + 0.476592, -2.18093, + 0.44247, 40.304, + 1.07277, 27.592, + -0.594738, -4.16681, + 0.42248, 7.61609, + -0.927521, -7.27441, + 1.99162, 1.29636, + 0.291307, 2.39878, + 0.721081, -1.95062, + -0.804256, 24.9295, + 1.64839, 19.1197, + 0.060852, -0.590639, + 0.266085, 9.10325, + -1.9574, -2.88461, + 1.11693, 2.6724, + 0.35458, -2.74854, + 0.330733, -14.1561, + -0.527851, 39.5756, + 0.991152, 43.195, + -0.589619, 1.26919, + 0.787401, 8.73071, + -1.0138, 1.02507, + 2.8254, 1.89538, + 0.24089, 2.74557, + 0.427195, 2.54446, + -1.95311, 12.244, + 1.44862, 12.0607, + -0.210492, -3.37906, + -0.056713, 10.204, + -1.65237, -5.10274, + 1.29475, -12.2708, + 0.111608, -8.67592, + 0.326634, -1.16763, + 0.021781, 31.1258, + 0.455335, 21.4684, + -0.37544, -3.37121, + 0.39362, 11.302, + -0.851456, -19.4149, + 2.10703, -2.22886, + 0.373233, 1.92406, + 0.884438, -1.72058, + -0.975127, 9.84013, + 2.0033, 17.3954, + -0.036915, -1.11137, + 0.148456, 5.39997, + -1.91441, 4.77382, + 1.44791, 0.537122, + 0.194979, -1.03818, + 0.495771, -9.95502, + -1.05899, 32.9471, + 2.01122, 32.4544, + -0.30965, 4.71911, + 0.436082, 4.63552, + -1.23711, -1.25428, + 2.02274, 9.42834, + 0.190342, 1.46077, + 0.479017, 2.48479, + -1.07848, 16.2217, + 1.20764, 9.65421, + -0.258087, -1.67236, + 0.071852, 13.416, + -1.87723, -16.072, + 1.28957, -4.87118, + 0.067713, -13.4427, + 0.435551, -4.1655, + 0.46614, 30.5895, + 0.904895, 21.598, + -0.518369, -2.53205, + 0.337363, 5.63726, + -0.554975, -17.4005, + 1.69188, 1.14574, + 0.227934, 0.889297, + 0.587303, -5.72973, + -0.262133, 18.6666, + 1.39505, 17.0029, + -0.01909, 4.30838, + 0.304235, 12.6699, + -2.07406, -6.46084, + 0.920546, 1.21296, + 0.284927, -1.78547, + 0.209724, -16.024, + -0.636067, 31.5768, + 1.34989, 34.6775, + -0.971625, 5.30086, + 0.590249, 4.44971, + -1.56787, 3.60239, + 2.1455, 4.51666, + 0.296022, 4.12017, + 0.445299, 0.868772, + -1.44193, 14.1284, + 1.35575, 6.0074, + -0.012814, -7.49657, + -0.43, 8.50012, + -1.20469, -7.11326, + 1.10102, -6.83682, + 0.196463, -6.234, + 0.436747, -1.12979, + 0.141052, 22.8549, + 0.290821, 18.8114, + -0.529536, -7.73251, + 0.63428, 10.7898, + -1.33472, -20.3258, + 1.81564, -1.90332, + 0.394778, 3.79758, + 0.732682, -8.18382, + -0.741244, 11.7683 +}; + +const struct lsp_codebook ge_cb[] = { + /* codebook/gecb.txt */ + { + 2, + 8, + 256, + codes0 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookjnd.c b/DSP_API/CODEC2_FREEDV/codebookjnd.c new file mode 100644 index 0000000..76eedd7 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookjnd.c @@ -0,0 +1,3496 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lsp1.txt */ +static const float codes0[] = { + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600 +}; + /* codebook/lsp2.txt */ +static const float codes1[] = { + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700 +}; + /* codebook/lsp3.txt */ +static const float codes2[] = { + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250 +}; + /* codebook/lsp4.txt */ +static const float codes3[] = { + 700, + 800, + 900, + 1000, + 1100, + 1200, + 1300, + 1400, + 1500, + 1600, + 1700, + 1800, + 1900, + 2000, + 2100, + 2200 +}; + /* ../unittest/lspjnd5-10.txt */ +static const float codes4[] = { + 1400, 2000, 2400, 2500, 3300, 3400, + 1400, 1900, 2400, 2500, 3200, 3400, + 1400, 1800, 2400, 2500, 3200, 3300, + 1400, 1800, 2400, 2500, 3300, 3400, + 1400, 2100, 2400, 2600, 3300, 3400, + 1400, 1900, 2300, 2600, 3200, 3300, + 1400, 1900, 2100, 2600, 3100, 3200, + 1600, 2100, 2400, 2500, 3200, 3300, + 1500, 1900, 2300, 2600, 3100, 3200, + 1600, 1800, 2400, 2600, 3200, 3300, + 1700, 1900, 2300, 2500, 3200, 3300, + 1800, 1900, 2300, 2500, 3200, 3300, + 1800, 2000, 2300, 2500, 3300, 3400, + 1900, 2000, 2200, 2600, 3300, 3400, + 1700, 2000, 2700, 2900, 3200, 3300, + 1700, 2100, 2600, 2900, 3200, 3300, + 1600, 2000, 2500, 2800, 3200, 3400, + 1500, 1800, 2300, 2400, 3200, 3300, + 1400, 1700, 2200, 2400, 3200, 3300, + 1300, 1700, 2200, 2300, 3200, 3300, + 1300, 1600, 2200, 2300, 3200, 3300, + 1200, 1600, 2200, 2400, 3200, 3300, + 1200, 1600, 2200, 2300, 3200, 3300, + 1200, 1500, 2200, 2300, 3100, 3300, + 1200, 1500, 2200, 2300, 3200, 3300, + 1300, 1500, 2100, 2300, 3000, 3200, + 1300, 1600, 2000, 2200, 3000, 3200, + 1400, 1700, 2000, 2300, 3100, 3200, + 1500, 1700, 2000, 2300, 3200, 3300, + 1300, 1600, 1900, 2100, 3100, 3200, + 1200, 1500, 2100, 2300, 3200, 3300, + 1500, 1800, 2000, 2300, 3000, 3200, + 1200, 1500, 2200, 2400, 3300, 3400, + 1200, 1500, 2200, 2400, 3200, 3400, + 1200, 1500, 2200, 2400, 3200, 3300, + 1300, 1500, 2300, 2400, 3200, 3300, + 1300, 1500, 2200, 2500, 3000, 3200, + 1300, 1600, 2300, 2600, 3000, 3200, + 1400, 1800, 2400, 2600, 3100, 3200, + 1700, 2000, 2500, 2800, 3200, 3300, + 1900, 2200, 2600, 2700, 3100, 3200, + 1900, 2300, 2600, 2900, 3200, 3300, + 2000, 2300, 2600, 2900, 3300, 3400, + 1900, 2300, 2500, 2900, 3300, 3400, + 1800, 2300, 2500, 2800, 3300, 3400, + 1600, 1800, 2400, 2500, 3200, 3400, + 1500, 1800, 2400, 2600, 3100, 3400, + 1800, 2100, 2600, 2900, 3300, 3500, + 2000, 2500, 2700, 3000, 3400, 3500, + 2200, 2500, 2700, 3100, 3300, 3400, + 2300, 2500, 2700, 3100, 3300, 3400, + 2100, 2500, 2600, 3000, 3200, 3300, + 2100, 2400, 2500, 3000, 3200, 3300, + 1700, 2000, 2300, 2700, 3100, 3200, + 1700, 2000, 2300, 2800, 3100, 3300, + 1600, 1900, 2200, 2800, 3000, 3200, + 1500, 1900, 2100, 2700, 3000, 3200, + 1400, 1900, 2000, 2600, 3000, 3100, + 1200, 1600, 2100, 2400, 3200, 3300, + 1500, 1600, 2300, 2400, 3200, 3400, + 1600, 1700, 2200, 2400, 3100, 3400, + 1600, 1700, 2200, 2400, 3200, 3400, + 1700, 1800, 2300, 2400, 3200, 3400, + 1700, 1800, 2300, 2400, 3200, 3300, + 1700, 1800, 2300, 2400, 3100, 3200, + 1700, 1800, 2200, 2500, 3100, 3200, + 1600, 1800, 2100, 2400, 3000, 3100, + 1500, 1700, 2100, 2300, 3000, 3100, + 1400, 1700, 2100, 2500, 3000, 3200, + 1000, 1700, 2300, 2500, 3200, 3300, + 1100, 1700, 2400, 2500, 3300, 3400, + 1500, 2000, 2300, 2600, 3000, 3300, + 1300, 1600, 1800, 2600, 2900, 3100, + 1300, 1600, 1900, 2200, 2900, 3000, + 1500, 1700, 2200, 2500, 2900, 3000, + 1500, 1600, 2100, 2400, 2900, 3100, + 1500, 1600, 2000, 2600, 3000, 3100, + 1600, 1700, 2100, 2600, 3100, 3200, + 1700, 1900, 2100, 2500, 3300, 3400, + 1700, 1900, 2200, 2500, 3300, 3400, + 1600, 2000, 2400, 2600, 3000, 3300, + 1700, 2100, 2400, 2600, 3100, 3300, + 1700, 2100, 2400, 2600, 3200, 3400, + 1400, 1600, 2300, 2400, 3300, 3400, + 1300, 1400, 2100, 2200, 2900, 3200, + 1000, 1300, 2200, 2300, 3200, 3400, + 1600, 2000, 2300, 2600, 2800, 3100, + 1600, 2000, 2300, 2600, 2900, 3200, + 1600, 2000, 2300, 2600, 3100, 3300, + 1700, 2000, 2300, 2600, 3100, 3300, + 1600, 1900, 2300, 2500, 3100, 3400, + 1500, 1900, 2300, 2600, 3000, 3300, + 1500, 1900, 2300, 2600, 3100, 3300, + 1500, 2000, 2300, 2700, 3100, 3300, + 2000, 2500, 2700, 2900, 3300, 3400, + 2000, 2400, 2600, 2800, 3300, 3400, + 1700, 2300, 2600, 2800, 3300, 3400, + 1400, 1700, 2400, 2500, 3200, 3300, + 1300, 1600, 2300, 2500, 3200, 3300, + 1300, 1500, 2000, 2300, 3200, 3300, + 1500, 1800, 2200, 2400, 2900, 3300, + 1500, 1700, 2200, 2400, 3000, 3200, + 1400, 1800, 2200, 2400, 3000, 3300, + 1400, 1800, 2200, 2400, 3000, 3200, + 1200, 1500, 2100, 2400, 3100, 3300, + 1300, 1800, 2200, 2300, 3300, 3400, + 1300, 1700, 2200, 2400, 3300, 3400, + 1400, 1500, 2300, 2500, 3100, 3400, + 1500, 1600, 2300, 2500, 3100, 3300, + 1500, 1600, 2400, 2500, 3100, 3300, + 1400, 1800, 2400, 2500, 3000, 3300, + 1300, 1700, 2100, 2500, 3000, 3200, + 1300, 1600, 2100, 2500, 3100, 3200, + 1300, 1700, 2200, 2500, 3100, 3200, + 1300, 1600, 2200, 2500, 3100, 3300, + 1300, 1700, 2300, 2600, 3200, 3300, + 1300, 1700, 2400, 2500, 3200, 3400, + 1500, 1900, 2500, 2600, 3200, 3400, + 1500, 2000, 2500, 2600, 3300, 3400, + 1600, 2100, 2600, 2900, 3400, 3500, + 1600, 1900, 2500, 2800, 3300, 3400, + 1500, 2000, 2500, 2600, 3200, 3300, + 1600, 2000, 2500, 2700, 3100, 3200, + 1500, 1700, 2400, 2700, 3100, 3200, + 1500, 1600, 2400, 2600, 3100, 3300, + 1500, 1600, 2200, 2400, 3000, 3200, + 1500, 1600, 2200, 2300, 3000, 3200, + 1400, 1700, 2100, 2300, 3000, 3100, + 1700, 1800, 2300, 2800, 3100, 3300, + 1800, 2100, 2500, 2800, 3200, 3300, + 1800, 2200, 2500, 2700, 3200, 3300, + 1900, 2200, 2500, 2800, 3200, 3300, + 1800, 2200, 2500, 2800, 3200, 3300, + 1600, 2000, 2300, 2500, 3000, 3200, + 1500, 1900, 2200, 2500, 3100, 3200, + 1500, 1700, 2200, 2400, 3100, 3200, + 1600, 1700, 2200, 2400, 3000, 3100, + 1600, 1700, 2300, 2400, 3000, 3100, + 1600, 1700, 2300, 2400, 3000, 3200, + 1600, 1700, 2300, 2400, 2900, 3100, + 1600, 1700, 2300, 2400, 2900, 3200, + 1600, 1700, 2300, 2500, 2900, 3200, + 1500, 1600, 2300, 2500, 2900, 3300, + 1400, 1500, 2200, 2500, 3000, 3300, + 1200, 1400, 2300, 2400, 3000, 3300, + 1100, 1400, 2300, 2400, 3100, 3300, + 1200, 1800, 2400, 2500, 3300, 3400, + 1400, 2000, 2400, 2700, 3300, 3400, + 1600, 2100, 2500, 2800, 3300, 3400, + 1700, 2300, 2600, 2900, 3300, 3400, + 1400, 2100, 2400, 2600, 3100, 3200, + 1300, 1600, 2300, 2500, 3000, 3200, + 1200, 1500, 2100, 2500, 3000, 3200, + 1300, 1700, 2100, 2300, 2900, 3200, + 1500, 1600, 2200, 2400, 3000, 3100, + 1500, 1600, 2200, 2500, 3000, 3200, + 1600, 1700, 2200, 2500, 3100, 3200, + 1600, 1700, 2200, 2500, 3100, 3300, + 1600, 1700, 2200, 2400, 3100, 3300, + 1600, 1700, 2300, 2500, 3300, 3400, + 1700, 1800, 2300, 2500, 3300, 3400, + 1800, 2000, 2300, 2700, 3200, 3300, + 1900, 2000, 2300, 2700, 3300, 3400, + 1900, 2000, 2100, 2400, 3300, 3400, + 1800, 2100, 2400, 2800, 3200, 3400, + 2000, 2200, 2500, 2700, 3100, 3300, + 2000, 2300, 2500, 2700, 3100, 3300, + 2000, 2300, 2500, 2800, 3300, 3400, + 1900, 2300, 2500, 2800, 3300, 3400, + 1800, 1900, 2300, 2600, 3300, 3400, + 1800, 1900, 2400, 2600, 3200, 3300, + 1700, 1900, 2400, 2500, 3200, 3300, + 1700, 1800, 2300, 2600, 3200, 3300, + 1600, 1700, 2300, 2600, 3200, 3300, + 1600, 1900, 2300, 2600, 3200, 3300, + 1500, 1800, 2200, 2400, 3200, 3300, + 1500, 1800, 2100, 2500, 3100, 3200, + 1700, 2100, 2400, 2800, 3200, 3300, + 1900, 2100, 2500, 2900, 3200, 3300, + 1900, 2100, 2400, 2900, 3200, 3300, + 1800, 2100, 2400, 2800, 3100, 3200, + 2000, 2200, 2500, 2800, 3100, 3300, + 2000, 2200, 2700, 2800, 3100, 3300, + 2000, 2300, 2600, 2800, 3200, 3300, + 1800, 2000, 2600, 2800, 3200, 3300, + 1800, 2100, 2600, 2800, 3200, 3400, + 1800, 2200, 2500, 2700, 3300, 3400, + 1700, 1900, 2500, 2600, 3200, 3400, + 1700, 1900, 2400, 2700, 3200, 3400, + 1500, 1900, 2500, 2600, 3100, 3300, + 1200, 2100, 2400, 2600, 3200, 3300, + 1300, 1800, 2400, 2500, 3200, 3300, + 1200, 1600, 2400, 2600, 3200, 3300, + 1200, 1900, 2500, 2700, 3200, 3300, + 1300, 2000, 2400, 2700, 3200, 3300, + 1200, 1900, 2300, 2500, 3200, 3300, + 1100, 1800, 2300, 2400, 3200, 3300, + 1100, 1900, 2300, 2500, 3200, 3300, + 1100, 2100, 2400, 2600, 3200, 3300, + 1000, 1900, 2400, 2500, 3200, 3300, + 1000, 1500, 2400, 2500, 3100, 3200, + 1000, 1500, 2300, 2400, 3100, 3200, + 1000, 1900, 2300, 2500, 3000, 3100, + 1100, 1900, 2300, 2400, 3100, 3200, + 1200, 1800, 2300, 2400, 3100, 3200, + 1300, 1800, 2300, 2400, 3100, 3200, + 1400, 1800, 2300, 2400, 3200, 3300, + 1600, 1700, 2300, 2400, 3100, 3300, + 1600, 1700, 2300, 2400, 3100, 3200, + 1600, 1700, 2200, 2400, 3100, 3200, + 1500, 1800, 2200, 2400, 3100, 3200, + 1400, 1800, 2200, 2400, 3100, 3200, + 1400, 1800, 2200, 2400, 3000, 3100, + 1800, 2000, 2300, 2800, 2900, 3100, + 1500, 1900, 2300, 2500, 3100, 3200, + 1500, 1900, 2300, 2400, 3300, 3400, + 1500, 2000, 2400, 2600, 3300, 3400, + 1600, 2000, 2400, 2700, 3300, 3400, + 1600, 2000, 2400, 2500, 3300, 3400, + 1600, 2000, 2400, 2600, 3300, 3400, + 1700, 2100, 2400, 2600, 2900, 3200, + 1600, 2000, 2500, 2700, 2900, 3200, + 1500, 1800, 2400, 2800, 3000, 3200, + 1500, 1800, 2100, 2400, 2900, 3100, + 1600, 1900, 2100, 2400, 3100, 3300, + 1600, 1900, 2100, 2500, 3100, 3200, + 1800, 1900, 2300, 2400, 3100, 3300, + 1900, 2000, 2500, 2600, 3200, 3300, + 1900, 2200, 2600, 2700, 3300, 3400, + 1900, 2300, 2600, 2700, 3300, 3400, + 1900, 2300, 2700, 2800, 3300, 3400, + 2000, 2200, 2700, 2800, 3300, 3400, + 2000, 2400, 2700, 2800, 3300, 3400, + 2000, 2300, 2700, 2800, 3300, 3400, + 2000, 2400, 2600, 2700, 3300, 3400, + 2000, 2200, 2600, 2700, 3200, 3300, + 1900, 2100, 2600, 2700, 3200, 3300, + 1900, 2100, 2500, 2700, 3200, 3300, + 1900, 2000, 2400, 2600, 3200, 3300, + 1900, 2000, 2400, 2600, 3100, 3200, + 1900, 2000, 2300, 2500, 3100, 3200, + 1800, 2000, 2300, 2500, 3100, 3200, + 1800, 1900, 2300, 2500, 3000, 3100, + 1800, 1900, 2400, 2700, 3000, 3200, + 1800, 1900, 2500, 2700, 3000, 3200, + 1800, 2000, 2500, 2700, 3100, 3200, + 2000, 2300, 2600, 2900, 3100, 3300, + 1900, 2300, 2700, 3000, 3200, 3300, + 2000, 2400, 2700, 3000, 3200, 3300, + 2100, 2500, 2800, 3000, 3200, 3300, + 2200, 2400, 2800, 3000, 3300, 3400, + 1900, 2200, 2700, 2900, 3300, 3400, + 2200, 2400, 2900, 3100, 3300, 3400, + 2100, 2400, 2800, 3100, 3300, 3400, + 2200, 2500, 2800, 3100, 3300, 3400, + 2100, 2400, 2600, 2800, 3300, 3400, + 2000, 2400, 2600, 2700, 3200, 3300, + 1700, 2000, 2400, 2600, 3200, 3300, + 1700, 1900, 2400, 2600, 3100, 3300, + 1800, 1900, 2400, 2700, 3200, 3300, + 1800, 1900, 2400, 2700, 3100, 3200, + 1800, 1900, 2400, 2700, 3100, 3300, + 1800, 1900, 2300, 2700, 3100, 3200, + 1700, 1900, 2200, 2700, 3000, 3300, + 1700, 1800, 2300, 2700, 2900, 3200, + 1700, 1900, 2300, 2700, 2900, 3200, + 1700, 1900, 2200, 2700, 3000, 3200, + 1700, 2000, 2300, 2800, 3000, 3200, + 1400, 1700, 2300, 2400, 3300, 3400, + 1400, 1800, 2300, 2400, 3300, 3400, + 1400, 1900, 2300, 2400, 3300, 3400, + 1400, 2100, 2300, 2500, 3300, 3400, + 1400, 2100, 2300, 2600, 3300, 3400, + 1700, 2200, 2500, 2700, 3200, 3400, + 1800, 2100, 2600, 2900, 3200, 3400, + 1800, 2100, 2600, 2800, 3300, 3400, + 1800, 2100, 2600, 2700, 3300, 3400, + 1800, 2000, 2500, 2700, 3300, 3400, + 1800, 2100, 2400, 2700, 3300, 3400, + 1800, 2100, 2400, 2600, 3300, 3400, + 1800, 2200, 2400, 2600, 3300, 3400, + 1800, 2200, 2400, 2700, 3300, 3400, + 1900, 2300, 2600, 2900, 3200, 3400, + 1900, 2200, 2600, 2700, 3200, 3400, + 1900, 2100, 2600, 2700, 3300, 3400, + 2000, 2100, 2500, 2700, 3200, 3300, + 2000, 2100, 2500, 2700, 3300, 3400, + 2000, 2200, 2500, 2700, 3300, 3400, + 2000, 2100, 2600, 2700, 3300, 3400, + 2000, 2100, 2500, 2700, 3400, 3500, + 1900, 2100, 2500, 2600, 3200, 3400, + 2000, 2200, 2600, 2700, 3200, 3400, + 2100, 2300, 2600, 2800, 3300, 3400, + 2100, 2500, 2700, 3100, 3300, 3400, + 2100, 2500, 2800, 3100, 3300, 3400, + 2100, 2300, 2400, 2700, 3200, 3300, + 2000, 2300, 2500, 2800, 3200, 3300, + 1700, 2100, 2500, 2700, 3200, 3300, + 1600, 1900, 2300, 2700, 3100, 3300, + 1600, 1800, 2300, 2800, 3100, 3300, + 1500, 1800, 2300, 2400, 3100, 3200, + 1500, 1700, 2300, 2400, 3100, 3300, + 1400, 1700, 2300, 2400, 3100, 3300, + 1400, 1500, 2300, 2400, 3100, 3300, + 1300, 1500, 2300, 2400, 3100, 3300, + 1300, 1500, 2400, 2500, 3100, 3300, + 1300, 1500, 2400, 2500, 3000, 3300, + 1300, 1500, 2300, 2400, 2900, 3300, + 1400, 1500, 2400, 2500, 2900, 3300, + 1500, 1600, 2300, 2500, 2800, 3300, + 1600, 1700, 2300, 2500, 2800, 3400, + 1700, 1800, 2300, 2500, 2800, 3300, + 1800, 1900, 2400, 2500, 3100, 3400, + 1800, 1900, 2400, 2500, 3200, 3400, + 1900, 2000, 2400, 2500, 3300, 3400, + 1900, 2000, 2300, 2500, 3300, 3400, + 1900, 2200, 2600, 2900, 3400, 3500, + 1800, 2200, 2600, 2900, 3300, 3400, + 1900, 2300, 2600, 3000, 3400, 3500, + 2000, 2300, 2600, 3000, 3300, 3400, + 1800, 2200, 2500, 2900, 3200, 3300, + 1800, 2100, 2400, 2700, 3200, 3300, + 1900, 2100, 2500, 2800, 3200, 3300, + 1700, 2100, 2500, 2700, 3100, 3300, + 1400, 1800, 2300, 2600, 3100, 3200, + 1300, 1600, 1700, 2400, 3000, 3100, + 1500, 1800, 2300, 2600, 3000, 3200, + 1900, 2200, 2500, 2800, 3000, 3300, + 2000, 2300, 2600, 2800, 3100, 3300, + 2000, 2300, 2700, 2900, 3100, 3300, + 2100, 2300, 2700, 2900, 3100, 3300, + 2000, 2300, 2700, 3000, 3300, 3400, + 1700, 2200, 2500, 2600, 3300, 3400, + 1400, 2000, 2400, 2600, 3300, 3400, + 1300, 1900, 2300, 2600, 3100, 3300, + 1200, 1600, 2200, 2400, 3000, 3100, + 1100, 1500, 2200, 2400, 3100, 3200, + 1100, 1400, 2300, 2400, 3200, 3300, + 1100, 1500, 2300, 2400, 3200, 3300, + 1100, 1500, 2300, 2400, 3300, 3400, + 1300, 1400, 2400, 2500, 3100, 3300, + 1500, 2200, 2500, 2600, 3100, 3200, + 2100, 2400, 2700, 3000, 3200, 3300, + 2200, 2400, 2700, 3000, 3300, 3400, + 2000, 2400, 2700, 3000, 3300, 3400, + 2000, 2400, 2700, 2900, 3300, 3400, + 2000, 2300, 2700, 3000, 3400, 3500, + 2100, 2400, 2700, 3000, 3400, 3500, + 2100, 2500, 2700, 3100, 3400, 3500, + 1900, 2400, 2600, 2800, 3300, 3400, + 1900, 2100, 2600, 2800, 3300, 3400, + 1900, 2100, 2500, 2700, 3300, 3400, + 1900, 2100, 2500, 2600, 3300, 3400, + 1800, 2200, 2400, 2800, 3300, 3400, + 1800, 2000, 2400, 2700, 3300, 3400, + 1900, 2000, 2400, 2700, 3200, 3300, + 2000, 2100, 2400, 2600, 3300, 3400, + 1500, 2100, 2200, 2500, 3300, 3400, + 1400, 1900, 2300, 2500, 3300, 3400, + 1400, 2000, 2300, 2600, 3200, 3300, + 1400, 1800, 2200, 2600, 3100, 3200, + 1700, 2100, 2400, 2700, 3100, 3300, + 1800, 2000, 2400, 2700, 3000, 3200, + 1600, 2000, 2300, 2500, 3100, 3200, + 1700, 2000, 2300, 2500, 3100, 3300, + 1600, 1900, 2200, 2600, 2900, 3200, + 1600, 1900, 2300, 2600, 2900, 3200, + 1600, 1900, 2300, 2600, 3000, 3200, + 1600, 1800, 2200, 2500, 3000, 3200, + 1600, 1800, 2300, 2600, 3100, 3200, + 1700, 1800, 2400, 2600, 3100, 3200, + 1700, 1800, 2300, 2500, 3000, 3100, + 1700, 1800, 2300, 2500, 3100, 3200, + 1700, 1800, 2200, 2400, 3000, 3200, + 1700, 1800, 2100, 2300, 3100, 3200, + 1700, 1900, 2100, 2400, 3000, 3200, + 1800, 2000, 2200, 2400, 3000, 3200, + 1800, 2000, 2300, 2500, 3100, 3300, + 1800, 2000, 2300, 2600, 3200, 3300, + 1800, 2000, 2400, 2600, 3200, 3300, + 1800, 2000, 2400, 2600, 3300, 3400, + 1800, 1900, 2400, 2500, 3300, 3400, + 1700, 1900, 2400, 2500, 3300, 3400, + 1700, 2100, 2400, 2600, 3300, 3400, + 1800, 2100, 2500, 2900, 3300, 3400, + 1800, 2200, 2600, 2800, 3300, 3500, + 1800, 2100, 2600, 2900, 3300, 3400, + 1800, 2100, 2600, 3000, 3200, 3300, + 1800, 2200, 2600, 2900, 3200, 3300, + 1800, 2100, 2600, 2800, 3200, 3300, + 1900, 2200, 2400, 2700, 3100, 3200, + 1700, 2000, 2300, 2700, 3000, 3100, + 1700, 2000, 2300, 2600, 3000, 3100, + 1800, 2100, 2400, 2600, 3100, 3200, + 1800, 2100, 2400, 2700, 3100, 3200, + 1900, 2100, 2400, 2700, 3200, 3300, + 1800, 2000, 2400, 2700, 3100, 3300, + 1700, 2000, 2400, 2700, 3100, 3300, + 1700, 1900, 2300, 2700, 3100, 3300, + 1700, 2000, 2300, 2600, 3100, 3200, + 1600, 1900, 2300, 2600, 3100, 3200, + 1400, 1700, 2200, 2500, 3000, 3200, + 1500, 1700, 2100, 2500, 2900, 3100, + 1500, 1800, 2300, 2600, 2900, 3200, + 1500, 1900, 2400, 2600, 3000, 3200, + 1600, 2000, 2300, 2700, 3100, 3200, + 1600, 2000, 2400, 2700, 3100, 3300, + 1600, 2200, 2600, 2900, 3300, 3400, + 1700, 2200, 2600, 3000, 3300, 3400, + 1700, 2100, 2500, 2900, 3300, 3400, + 1700, 2200, 2500, 2900, 3300, 3400, + 1500, 1800, 2400, 2500, 3200, 3400, + 1500, 1700, 2400, 2500, 3300, 3400, + 1500, 1700, 2300, 2400, 3300, 3400, + 1600, 1800, 2300, 2400, 3300, 3400, + 1600, 1800, 2400, 2500, 3300, 3400, + 1600, 1700, 2400, 2500, 2800, 3300, + 1600, 1800, 2300, 2500, 2700, 3200, + 1600, 1700, 2300, 2500, 2700, 3200, + 1600, 1700, 2200, 2500, 2700, 3100, + 1600, 1700, 2200, 2500, 2600, 3000, + 1600, 1700, 2400, 2500, 2700, 3200, + 1600, 1700, 2400, 2500, 2800, 3200, + 1700, 1800, 2400, 2600, 2900, 3300, + 1700, 1800, 2300, 2600, 2800, 3300, + 1700, 1800, 2400, 2600, 3000, 3400, + 1700, 1800, 2300, 2500, 2900, 3300, + 1600, 1700, 2300, 2500, 3000, 3300, + 1400, 1800, 2000, 2400, 3000, 3200, + 1400, 1700, 2000, 2300, 3000, 3200, + 1700, 2000, 2300, 2500, 3100, 3200, + 1700, 1800, 2400, 2500, 3100, 3200, + 1800, 2000, 2400, 2500, 3200, 3300, + 1900, 2000, 2400, 2600, 3300, 3400, + 1900, 2000, 2300, 2600, 3300, 3400, + 2000, 2100, 2200, 2600, 3300, 3400, + 2000, 2100, 2300, 2600, 3300, 3400, + 2100, 2200, 2500, 2800, 3300, 3400, + 2000, 2100, 2300, 2500, 3200, 3300, + 1900, 2000, 2200, 2600, 3200, 3300, + 1800, 1900, 2100, 2600, 3100, 3200, + 1700, 1900, 2100, 2600, 3000, 3200, + 1500, 1800, 2100, 2300, 3000, 3200, + 1500, 1800, 2100, 2400, 3100, 3300, + 1500, 1700, 2200, 2500, 3100, 3300, + 1500, 1800, 2200, 2300, 3200, 3300, + 1500, 1900, 2300, 2500, 3300, 3400, + 1800, 2300, 2600, 3000, 3400, 3500, + 1900, 2300, 2700, 3000, 3400, 3500, + 2000, 2300, 2800, 3100, 3300, 3400, + 2100, 2300, 2800, 3100, 3300, 3400, + 2000, 2300, 2700, 3000, 3200, 3300, + 2000, 2200, 2600, 2900, 3100, 3300, + 2000, 2200, 2500, 2800, 3000, 3200, + 2000, 2200, 2400, 2800, 3100, 3200, + 1600, 2000, 2400, 2600, 3100, 3200, + 1400, 1900, 2400, 2500, 3100, 3200, + 1400, 1900, 2300, 2600, 3000, 3200, + 1500, 2000, 2400, 2700, 2900, 3200, + 2000, 2300, 2800, 3000, 3200, 3400, + 2100, 2300, 2900, 3100, 3300, 3400, + 1800, 2300, 2600, 2900, 3400, 3500, + 1700, 2300, 2500, 2900, 3300, 3400, + 1300, 2000, 2400, 2700, 3300, 3400, + 1200, 1900, 2300, 2600, 3300, 3400, + 1200, 1800, 2300, 2600, 3300, 3400, + 1100, 1800, 2300, 2500, 3300, 3400, + 1800, 2200, 2600, 2800, 3300, 3400, + 1800, 2000, 2500, 2700, 3200, 3400, + 1700, 2100, 2600, 2700, 3200, 3300, + 1700, 2200, 2600, 2800, 3300, 3400, + 1800, 2200, 2600, 3000, 3300, 3500, + 1700, 2100, 2600, 2800, 3300, 3400, + 1700, 2100, 2500, 2800, 3300, 3400, + 1700, 2200, 2500, 2800, 3300, 3400, + 1700, 2200, 2500, 2800, 3300, 3500, + 1800, 2200, 2500, 2900, 3300, 3400, + 2100, 2200, 2600, 2700, 3100, 3400, + 1900, 2100, 2500, 2600, 3100, 3400, + 1900, 2000, 2500, 2600, 3200, 3400, + 1900, 2000, 2600, 2700, 3200, 3400, + 1800, 1900, 2500, 2600, 3100, 3400, + 1600, 2000, 2700, 2800, 3300, 3400, + 1400, 2000, 2700, 2800, 3300, 3400, + 1000, 1900, 2700, 2800, 3300, 3400, + 1000, 1400, 2700, 2900, 3200, 3400, + 1100, 1500, 2700, 2900, 3200, 3300, + 1200, 1700, 2400, 2500, 3100, 3300, + 1300, 1900, 2400, 2500, 3300, 3400, + 1300, 2000, 2400, 2600, 3200, 3300, + 1400, 2000, 2400, 2600, 3100, 3300, + 1500, 2000, 2400, 2700, 3000, 3300, + 1300, 2100, 2400, 2700, 3200, 3300, + 1400, 1900, 2700, 2800, 3300, 3400, + 1500, 1900, 2700, 2800, 3300, 3400, + 1400, 1800, 2600, 2700, 3200, 3400, + 1800, 2300, 2600, 2700, 2900, 3200, + 1500, 1700, 2400, 2600, 2800, 3300, + 1600, 1700, 2500, 2700, 2900, 3300, + 1800, 1900, 2600, 2700, 3200, 3400, + 1800, 1900, 2600, 2700, 3200, 3300, + 2000, 2200, 2600, 2800, 3200, 3300, + 2000, 2100, 2600, 2700, 3200, 3400, + 2000, 2100, 2500, 2800, 3200, 3400, + 2000, 2100, 2600, 2700, 3100, 3300, + 1900, 2000, 2400, 2600, 3100, 3300, + 1800, 1900, 2400, 2600, 3100, 3200, + 1700, 2000, 2300, 2400, 3200, 3300, + 1900, 2100, 2500, 2700, 3200, 3400, + 1900, 2000, 2500, 2700, 3200, 3400, + 1800, 2000, 2500, 2600, 3200, 3300, + 1800, 2100, 2500, 2700, 3200, 3400, + 1800, 2000, 2500, 2600, 3200, 3400, + 1800, 1900, 2400, 2500, 3000, 3300, + 1800, 2000, 2400, 2600, 3100, 3300, + 1900, 2100, 2500, 2600, 3200, 3300, + 2000, 2100, 2500, 2600, 3300, 3400, + 2000, 2200, 2500, 2600, 3300, 3400, + 2100, 2200, 2500, 2600, 3300, 3400, + 2100, 2200, 2500, 2600, 3200, 3400, + 2100, 2200, 2400, 2500, 3200, 3400, + 2000, 2100, 2400, 2500, 3200, 3400, + 1800, 1900, 2400, 2600, 3200, 3400, + 1800, 1900, 2500, 2600, 3200, 3400, + 1800, 2300, 2700, 2900, 3300, 3400, + 1900, 2400, 2800, 3000, 3300, 3500, + 1900, 2300, 2800, 3100, 3300, 3400, + 2000, 2300, 2700, 2900, 3200, 3400, + 1800, 2000, 2600, 2900, 3300, 3400, + 1700, 2000, 2500, 2600, 3200, 3400, + 1600, 2100, 2500, 2600, 3300, 3400, + 1500, 2100, 2500, 2600, 3300, 3400, + 1500, 2000, 2400, 2500, 3200, 3300, + 1400, 2000, 2400, 2600, 3200, 3300, + 1300, 1900, 2400, 2600, 3100, 3300, + 1300, 2000, 2600, 2800, 3300, 3400, + 1500, 2000, 2600, 2700, 3300, 3400, + 1600, 2000, 2500, 2700, 3200, 3400, + 1600, 2000, 2500, 2600, 3200, 3400, + 1600, 2000, 2400, 2500, 3200, 3400, + 1700, 2000, 2300, 2500, 3300, 3400, + 1600, 1900, 2300, 2400, 3300, 3400, + 1500, 1700, 2200, 2400, 3200, 3300, + 1500, 1800, 2200, 2500, 2900, 3200, + 1300, 1700, 2200, 2500, 3000, 3300, + 1200, 1700, 2200, 2600, 3000, 3200, + 1100, 1700, 2300, 2600, 3100, 3300, + 1200, 1800, 2300, 2500, 3300, 3400, + 1100, 2100, 2400, 2600, 3300, 3400, + 1200, 2200, 2400, 2700, 3300, 3400, + 1200, 2300, 2500, 2700, 3300, 3400, + 1200, 2300, 2500, 2800, 3300, 3400, + 1200, 2300, 2600, 2800, 3300, 3400, + 1100, 1800, 2500, 2600, 3400, 3500, + 1300, 1700, 2500, 2600, 3200, 3400, + 1400, 1800, 2500, 2600, 3200, 3400, + 1500, 1900, 2500, 2600, 3200, 3300, + 1500, 1900, 2500, 2700, 3200, 3300, + 1800, 1900, 2500, 2700, 3100, 3200, + 1900, 2100, 2400, 2500, 3200, 3300, + 2000, 2100, 2300, 2500, 3300, 3400, + 1500, 1900, 2400, 2800, 3100, 3300, + 1200, 1700, 2500, 2600, 3300, 3400, + 1300, 1900, 2500, 2600, 3300, 3400, + 1400, 1800, 2500, 2700, 3300, 3400, + 1300, 1700, 2400, 2700, 3200, 3400, + 1100, 2100, 2600, 2700, 3300, 3400, + 1200, 2100, 2600, 2700, 3300, 3400, + 1200, 2100, 2500, 2700, 3300, 3400, + 1200, 2100, 2500, 2600, 3300, 3400, + 1200, 2000, 2500, 2600, 3300, 3400, + 1200, 2200, 2500, 2700, 3400, 3500, + 1400, 1800, 2400, 2600, 3100, 3400, + 1400, 1900, 2400, 2600, 3100, 3300, + 1500, 1800, 2400, 2700, 3100, 3300, + 1500, 1900, 2400, 2600, 3200, 3400, + 1600, 2100, 2400, 2600, 3300, 3400, + 1900, 2200, 2400, 2600, 3300, 3400, + 2000, 2200, 2400, 2600, 3200, 3300, + 2000, 2100, 2400, 2500, 3200, 3300, + 2100, 2200, 2500, 2600, 3200, 3300, + 2100, 2200, 2500, 2700, 3200, 3300, + 2000, 2100, 2400, 2600, 3100, 3200, + 1500, 2100, 2300, 2600, 3100, 3200, + 1500, 1900, 2300, 2400, 3100, 3300, + 1500, 1800, 2300, 2400, 3100, 3300, + 1400, 1800, 2300, 2400, 3100, 3300, + 1400, 1900, 2300, 2500, 3100, 3300, + 1600, 1900, 2500, 2600, 3200, 3300, + 1500, 1800, 2300, 2600, 3100, 3300, + 1400, 1700, 2200, 2600, 3100, 3200, + 1400, 1600, 2200, 2500, 3000, 3200, + 1300, 1700, 2400, 2600, 3100, 3200, + 1400, 1700, 2200, 2500, 3200, 3300, + 1400, 1800, 2300, 2500, 3200, 3300, + 1300, 1900, 2200, 2400, 3200, 3300, + 1100, 1500, 2300, 2400, 3200, 3400, + 1000, 1600, 2500, 2600, 3300, 3400, + 1000, 1700, 2500, 2600, 3300, 3400, + 1000, 1800, 2600, 2700, 3300, 3400, + 1000, 1900, 2600, 2700, 3300, 3400, + 1000, 1800, 2800, 2900, 3300, 3400, + 1400, 1600, 2500, 2600, 3100, 3400, + 1600, 1700, 2500, 2600, 3100, 3400, + 1600, 1700, 2500, 2600, 3000, 3400, + 1700, 1800, 2500, 2600, 3000, 3400, + 1700, 1800, 2400, 2600, 2800, 3300, + 1700, 1800, 2400, 2600, 2900, 3400, + 1700, 1800, 2500, 2600, 3200, 3400, + 1700, 1800, 2500, 2600, 3100, 3400, + 1600, 1800, 2500, 2600, 3200, 3400, + 1600, 1800, 2600, 2700, 3200, 3400, + 1600, 1900, 2600, 2700, 3300, 3400, + 1600, 2000, 2600, 2700, 3200, 3400, + 1800, 2300, 2800, 3000, 3300, 3400, + 1800, 2100, 2800, 3100, 3300, 3400, + 1900, 2100, 2700, 2900, 3300, 3400, + 1800, 2000, 2600, 2800, 3200, 3400, + 1700, 1900, 2500, 2800, 3100, 3300, + 1700, 1800, 2400, 2600, 3000, 3300, + 1700, 1800, 2500, 2700, 3000, 3400, + 1700, 1900, 2600, 2700, 3100, 3400, + 1600, 1900, 2600, 2700, 3000, 3300, + 1700, 2000, 2600, 2700, 3100, 3300, + 1700, 1900, 2600, 2700, 3200, 3300, + 1700, 1900, 2600, 2800, 3200, 3300, + 1600, 1900, 2600, 2800, 3200, 3400, + 1200, 1800, 2700, 2800, 3200, 3400, + 1100, 1700, 2700, 2800, 3200, 3300, + 1500, 1800, 2600, 2700, 3100, 3400, + 1500, 1800, 2500, 2600, 3100, 3400, + 1600, 1800, 2500, 2600, 3100, 3400, + 1600, 1800, 2400, 2500, 3100, 3400, + 1500, 1700, 2400, 2500, 3000, 3400, + 1400, 1600, 2400, 2500, 3000, 3400, + 1400, 1600, 2400, 2600, 2900, 3300, + 1200, 1700, 2600, 2700, 3100, 3300, + 1200, 1800, 2600, 2700, 3200, 3400, + 1100, 1900, 2600, 2700, 3200, 3400, + 1400, 1800, 2500, 2700, 3200, 3400, + 1700, 1900, 2500, 2600, 2900, 3300, + 1600, 1700, 2500, 2700, 3000, 3400, + 1400, 1500, 2500, 2700, 3200, 3400, + 1400, 1700, 2500, 2700, 3000, 3300, + 1800, 2000, 2200, 2600, 2900, 3200, + 1900, 2100, 2400, 2600, 3100, 3300, + 1900, 2300, 2400, 2700, 3200, 3300, + 1800, 2200, 2400, 2700, 3200, 3300, + 1600, 1900, 2200, 2400, 3000, 3200, + 1500, 1900, 2100, 2500, 3100, 3200, + 1500, 1900, 2100, 2400, 3100, 3200, + 1400, 1900, 2100, 2500, 3200, 3300, + 1300, 2000, 2200, 2500, 3200, 3300, + 1200, 2000, 2200, 2500, 3200, 3300, + 1200, 2100, 2300, 2600, 3200, 3300, + 1100, 2000, 2500, 2600, 3300, 3400, + 1200, 2200, 2500, 2600, 3300, 3400, + 1500, 1800, 2400, 2500, 3300, 3400, + 1800, 1900, 2300, 2400, 3300, 3400, + 2100, 2200, 2400, 2600, 3300, 3400, + 2200, 2300, 2600, 2700, 3300, 3400, + 2200, 2300, 2600, 2800, 3300, 3400, + 2100, 2300, 2500, 2800, 3100, 3300, + 2200, 2300, 2600, 2700, 3100, 3400, + 2100, 2200, 2600, 2700, 3200, 3400, + 1900, 2300, 2600, 2900, 3100, 3300, + 2000, 2300, 2600, 2900, 3200, 3300, + 2200, 2300, 2700, 2900, 3300, 3400, + 2000, 2300, 2500, 2900, 3300, 3400, + 1500, 1700, 2200, 2600, 3100, 3300, + 1500, 1700, 2200, 2600, 3000, 3300, + 1500, 1800, 2200, 2600, 3100, 3300, + 1500, 1800, 2000, 2300, 3200, 3300, + 1600, 1800, 2000, 2300, 3200, 3300, + 1600, 1900, 2100, 2300, 3200, 3300, + 1700, 1900, 2200, 2400, 3200, 3300, + 1700, 1900, 2300, 2400, 3300, 3400, + 1800, 1900, 2300, 2500, 3300, 3400, + 1800, 2000, 2400, 2500, 3200, 3400, + 1800, 2000, 2400, 2600, 3100, 3400, + 1800, 1900, 2400, 2600, 3100, 3400, + 1400, 1600, 2500, 2600, 2900, 3300, + 1300, 1500, 2500, 2600, 2900, 3300, + 1300, 1700, 2300, 2700, 3000, 3200, + 1600, 1900, 2400, 2800, 3100, 3200, + 1500, 2000, 2400, 2800, 3100, 3300, + 1100, 1700, 2600, 2700, 3200, 3400, + 1100, 1800, 2600, 2700, 3300, 3400, + 1100, 1800, 2700, 2800, 3300, 3400, + 1700, 2000, 2600, 2700, 3100, 3400, + 1700, 2100, 2500, 2600, 3000, 3200, + 1700, 2200, 2600, 2700, 3100, 3200, + 1700, 2000, 2500, 2600, 3000, 3200, + 1700, 1900, 2500, 2600, 3000, 3300, + 1700, 1900, 2400, 2600, 3000, 3300, + 2000, 2200, 2400, 2600, 3300, 3400, + 1800, 2100, 2400, 2500, 3300, 3400, + 1700, 2100, 2400, 2500, 3300, 3400, + 1500, 2100, 2400, 2500, 3300, 3400, + 1600, 2100, 2400, 2500, 3300, 3400, + 1700, 2000, 2300, 2400, 3300, 3400, + 1700, 2000, 2400, 2500, 3300, 3400, + 1800, 2000, 2400, 2500, 3300, 3400, + 1900, 2000, 2400, 2500, 3100, 3400, + 1900, 2000, 2400, 2500, 3000, 3400, + 1900, 2000, 2300, 2400, 2800, 3300, + 1800, 2000, 2200, 2400, 2600, 3200, + 1900, 2000, 2300, 2500, 2800, 3200, + 1700, 2000, 2300, 2700, 3100, 3300, + 1700, 1900, 2500, 2800, 3200, 3300, + 1700, 2000, 2500, 2800, 3300, 3400, + 1700, 2000, 2600, 2900, 3300, 3400, + 1700, 1800, 2500, 2700, 3200, 3400, + 1600, 1700, 2400, 2600, 2900, 3300, + 1600, 1700, 2500, 2600, 2900, 3300, + 1600, 1800, 2600, 2700, 3100, 3400, + 1600, 1700, 2600, 2700, 3000, 3300, + 1600, 1700, 2600, 2700, 3100, 3300, + 1700, 1900, 2500, 2800, 3200, 3400, + 2100, 2500, 2700, 3000, 3300, 3400, + 2100, 2400, 2700, 2900, 3300, 3400, + 2200, 2500, 2700, 3000, 3300, 3400, + 2200, 2500, 2800, 2900, 3400, 3500, + 2200, 2500, 2800, 2900, 3300, 3500, + 2100, 2500, 2700, 2800, 3300, 3400, + 2100, 2400, 2700, 2900, 3200, 3400, + 2100, 2300, 2600, 2800, 3100, 3400, + 2100, 2200, 2500, 2700, 3100, 3400, + 2200, 2300, 2500, 2700, 3200, 3400, + 1900, 2100, 2400, 2500, 3200, 3400, + 1700, 2000, 2400, 2500, 3200, 3300, + 1500, 1900, 2400, 2500, 3100, 3300, + 1400, 1900, 2500, 2600, 3300, 3400, + 1200, 1900, 2600, 2700, 3300, 3400, + 1100, 2000, 2600, 2700, 3300, 3400, + 1100, 1700, 2600, 2700, 3300, 3400, + 1300, 1600, 2500, 2600, 3100, 3400, + 1500, 1600, 2400, 2500, 3000, 3400, + 1600, 1700, 2400, 2500, 3100, 3400, + 1900, 2000, 2300, 2500, 2900, 3400, + 1900, 2000, 2400, 2500, 2800, 3300, + 1900, 2000, 2500, 2700, 3300, 3400, + 1900, 2000, 2500, 2800, 3300, 3400, + 2000, 2200, 2700, 2900, 3300, 3400, + 1900, 2200, 2700, 2800, 3200, 3300, + 1900, 2200, 2700, 2900, 3200, 3300, + 2000, 2300, 2700, 2900, 3200, 3300, + 2200, 2600, 2700, 2900, 3300, 3400, + 2100, 2400, 2700, 2800, 3300, 3400, + 2100, 2200, 2500, 2700, 3300, 3400, + 1900, 2100, 2400, 2500, 3300, 3400, + 1600, 2000, 2400, 2500, 3200, 3300, + 1500, 2000, 2400, 2500, 3300, 3400, + 1200, 1900, 2400, 2500, 3300, 3500, + 1200, 1600, 2400, 2500, 3200, 3400, + 1700, 2100, 2600, 2900, 3300, 3400, + 1800, 2200, 2700, 3000, 3300, 3400, + 1800, 2200, 2800, 3000, 3300, 3400, + 1700, 2100, 2600, 2900, 3200, 3400, + 1700, 2000, 2600, 2800, 3200, 3400, + 1600, 1800, 2500, 2700, 3200, 3400, + 1500, 1700, 2500, 2600, 3200, 3400, + 1500, 1700, 2400, 2600, 3200, 3300, + 1500, 1800, 2400, 2600, 3200, 3300, + 1500, 1800, 2300, 2500, 3200, 3400, + 1400, 1800, 2300, 2500, 3300, 3400, + 1400, 1800, 2300, 2400, 3200, 3400, + 1600, 1900, 2500, 2600, 3200, 3400, + 1500, 1900, 2600, 2700, 3200, 3400, + 1500, 1900, 2600, 2700, 3300, 3400, + 1400, 1900, 2600, 2700, 3300, 3400, + 1400, 1900, 2600, 2700, 3200, 3400, + 1500, 1700, 2600, 2700, 3100, 3300, + 1600, 1800, 2600, 2700, 3100, 3200, + 1900, 2100, 2700, 2900, 3200, 3300, + 2000, 2100, 2500, 2700, 3200, 3400, + 2000, 2100, 2400, 2600, 3100, 3400, + 2000, 2100, 2300, 2600, 3000, 3300, + 1900, 2000, 2300, 2500, 3000, 3400, + 1800, 1900, 2300, 2400, 3000, 3400, + 1600, 1800, 2300, 2400, 3000, 3400, + 1400, 1700, 2400, 2500, 2900, 3400, + 1300, 1700, 2400, 2500, 3100, 3400, + 1400, 1700, 2300, 2600, 3100, 3300, + 1200, 1600, 2400, 2500, 3200, 3300, + 1200, 1600, 2500, 2600, 3200, 3300, + 1300, 1800, 2500, 2600, 3200, 3300, + 1400, 1800, 2500, 2600, 3200, 3300, + 1700, 2000, 2400, 2600, 3100, 3200, + 1800, 1900, 2400, 2600, 3000, 3300, + 2000, 2300, 2700, 2900, 3300, 3400, + 1900, 2300, 2900, 3100, 3400, 3500, + 1900, 2100, 2700, 3000, 3300, 3400, + 1800, 1900, 2300, 2700, 3100, 3300, + 1800, 1900, 2200, 2500, 3100, 3300, + 1700, 1800, 2100, 2400, 3000, 3300, + 1700, 1800, 2200, 2400, 3100, 3300, + 1400, 1900, 2100, 2300, 3200, 3300, + 1300, 1800, 2000, 2300, 3200, 3300, + 1300, 1800, 1900, 2500, 3200, 3300, + 1300, 1900, 2100, 2600, 3200, 3300, + 2000, 2100, 2400, 2500, 3100, 3400, + 2100, 2200, 2400, 2500, 3100, 3400, + 2100, 2400, 2800, 2900, 3100, 3300, + 2000, 2200, 2600, 2900, 3200, 3300, + 2100, 2200, 2700, 2800, 3200, 3300, + 2000, 2100, 2700, 2800, 3200, 3300, + 2000, 2100, 2600, 2800, 3200, 3400, + 1900, 2000, 2600, 2700, 3300, 3400, + 1800, 1900, 2500, 2700, 3300, 3400, + 2000, 2100, 2600, 2700, 3200, 3300, + 2000, 2100, 2600, 2700, 3100, 3400, + 1900, 2100, 2600, 2700, 3200, 3400, + 1800, 2000, 2600, 2700, 3300, 3400, + 1800, 2000, 2600, 2700, 3300, 3500, + 1700, 1900, 2500, 2700, 3200, 3400, + 1800, 2100, 2700, 2900, 3200, 3400, + 1900, 2200, 2600, 2900, 3200, 3300, + 1900, 2200, 2700, 2900, 3200, 3400, + 1800, 2200, 2700, 3000, 3200, 3400, + 1800, 2100, 2700, 2900, 3300, 3400, + 1900, 2200, 2600, 2900, 3300, 3500, + 1700, 2100, 2500, 2800, 3400, 3500, + 1600, 1900, 2400, 2600, 3200, 3400, + 1600, 1900, 2400, 2500, 3300, 3400, + 1700, 2000, 2400, 2500, 3200, 3400, + 1700, 2000, 2300, 2500, 3200, 3300, + 1700, 2000, 2300, 2400, 2900, 3200, + 1900, 2000, 2600, 2700, 3100, 3200, + 1900, 2000, 2600, 2700, 3100, 3400, + 1800, 2000, 2600, 2700, 3100, 3300, + 1400, 1800, 2300, 2600, 3000, 3200, + 1300, 1800, 2200, 2500, 3100, 3300, + 1300, 1900, 2200, 2600, 3100, 3300, + 1400, 1800, 2100, 2500, 3000, 3200, + 1300, 1600, 1700, 2500, 3100, 3200, + 1300, 1600, 1700, 2400, 3100, 3200, + 1300, 1600, 1800, 2300, 3100, 3200, + 1500, 1800, 2400, 2500, 3100, 3200, + 1500, 1900, 2500, 2600, 3000, 3200, + 1800, 2200, 2600, 2800, 3200, 3400, + 1800, 2000, 2500, 2700, 3100, 3300, + 1700, 1900, 2400, 2700, 3100, 3300, + 1800, 1900, 2500, 2700, 3100, 3300, + 1800, 1900, 2600, 2700, 3000, 3300, + 2100, 2200, 2600, 2700, 3200, 3300, + 2100, 2200, 2600, 2700, 3300, 3400, + 1900, 2100, 2300, 2500, 3300, 3400, + 1700, 2100, 2500, 2800, 3100, 3300, + 1600, 2100, 2500, 2700, 3100, 3300, + 1500, 1900, 2400, 2700, 3100, 3300, + 1200, 1700, 1800, 2100, 3200, 3400, + 1400, 1700, 1800, 2200, 3300, 3400, + 1600, 1800, 1900, 2400, 3200, 3300, + 1700, 1900, 2000, 2500, 3100, 3200, + 1700, 1900, 2100, 2400, 2900, 3100, + 1800, 2000, 2200, 2400, 2800, 3200, + 1900, 2100, 2300, 2600, 2900, 3300, + 1900, 2100, 2300, 2600, 3200, 3400, + 2000, 2100, 2400, 2500, 3300, 3400, + 1800, 1900, 2400, 2500, 3200, 3500, + 1700, 1900, 2500, 2700, 3200, 3300, + 1800, 2000, 2600, 3000, 3300, 3400, + 1900, 2000, 2500, 2700, 2900, 3200, + 1900, 2000, 2500, 2700, 2900, 3100, + 1900, 2000, 2400, 2600, 2900, 3200, + 1700, 2000, 2300, 2600, 2900, 3200, + 1800, 2000, 2300, 2600, 2900, 3200, + 1900, 2000, 2400, 2600, 2900, 3300, + 1900, 2000, 2400, 2600, 3000, 3300, + 1900, 2000, 2500, 2600, 3100, 3400, + 1600, 1800, 2200, 2600, 3000, 3300, + 1600, 1800, 2200, 2500, 3000, 3300, + 1700, 1900, 2300, 2600, 3000, 3200, + 1800, 1900, 2300, 2600, 3000, 3200, + 1800, 1900, 2400, 2500, 3000, 3400, + 1700, 1800, 2400, 2500, 3200, 3400, + 1600, 1700, 2400, 2600, 3100, 3300, + 1600, 1700, 2400, 2500, 3200, 3300, + 1500, 1600, 2400, 2500, 3200, 3400, + 1400, 1600, 2400, 2500, 3200, 3400, + 1300, 1600, 2400, 2500, 3200, 3300, + 1400, 2000, 2500, 2700, 3100, 3300, + 1700, 1900, 2200, 2500, 3000, 3300, + 1700, 1900, 2300, 2500, 3100, 3300, + 2000, 2100, 2400, 2600, 3100, 3300, + 2000, 2200, 2500, 2600, 3100, 3300, + 1900, 2000, 2400, 2500, 3200, 3400, + 2100, 2200, 2300, 2400, 3200, 3400, + 2000, 2100, 2300, 2500, 3000, 3400, + 1600, 1800, 2100, 2500, 3000, 3200, + 1700, 1800, 2200, 2700, 3200, 3300, + 1800, 1900, 2400, 2800, 3200, 3400, + 1800, 2000, 2500, 2800, 3200, 3400, + 1700, 2100, 2600, 2900, 3300, 3500, + 1800, 2200, 2600, 2900, 3300, 3500, + 1700, 2200, 2600, 2900, 3300, 3400, + 1700, 2100, 2500, 2800, 3200, 3400, + 1700, 1900, 2600, 2700, 3300, 3400, + 1700, 1800, 2600, 2700, 3100, 3400, + 1700, 1800, 2600, 2700, 3200, 3400, + 1700, 1900, 2700, 2800, 3200, 3400, + 1600, 1900, 2700, 2800, 3200, 3300, + 1400, 1900, 2800, 2900, 3200, 3300, + 1600, 2000, 2600, 2700, 3200, 3300, + 1700, 2000, 2600, 2700, 3200, 3300, + 1700, 2000, 2600, 2700, 3200, 3400, + 1700, 2000, 2600, 2700, 3300, 3400, + 1700, 1900, 2500, 2600, 3300, 3400, + 1700, 1800, 2500, 2700, 3100, 3300, + 1700, 1900, 2500, 2800, 3300, 3400, + 1700, 2000, 2400, 2800, 3300, 3400, + 1600, 1800, 2100, 2400, 3100, 3200, + 1700, 1800, 2000, 2700, 3100, 3200, + 1700, 1900, 2100, 2700, 3100, 3200, + 1800, 2000, 2200, 2700, 3100, 3200, + 1900, 2000, 2300, 2700, 3100, 3200, + 1900, 2100, 2300, 2700, 3100, 3200, + 1900, 2100, 2400, 2700, 3100, 3200, + 2000, 2100, 2400, 2700, 3100, 3200, + 2000, 2200, 2400, 2700, 3100, 3200, + 1900, 2100, 2300, 2600, 3100, 3200, + 1800, 2100, 2200, 2600, 3100, 3200, + 1600, 2000, 2200, 2600, 3100, 3200, + 1500, 2000, 2200, 2700, 3100, 3200, + 1500, 1900, 2200, 2700, 3100, 3200, + 1500, 1800, 2200, 2600, 3100, 3200, + 1800, 2100, 2600, 2700, 3100, 3300, + 1700, 2100, 2600, 2700, 3100, 3300, + 1500, 1800, 2600, 2700, 3200, 3400, + 1200, 1400, 2500, 2700, 3200, 3400, + 1400, 1700, 2400, 2600, 3200, 3400, + 1400, 1600, 2400, 2600, 3100, 3400, + 1500, 1700, 2500, 2600, 3000, 3300, + 1600, 1800, 2500, 2600, 3100, 3300, + 1700, 1900, 2500, 2600, 3100, 3300, + 1800, 1900, 2400, 2600, 3000, 3400, + 2000, 2100, 2500, 2600, 3000, 3300, + 2100, 2200, 2500, 2600, 3100, 3400, + 2200, 2300, 2500, 2600, 3100, 3400, + 1400, 1900, 2300, 2400, 2800, 3200, + 1400, 1900, 2300, 2400, 2700, 3100, + 1500, 1700, 2300, 2400, 2800, 3200, + 1600, 1700, 2100, 2500, 3000, 3300, + 1700, 2000, 2400, 2800, 3000, 3300, + 1800, 2000, 2600, 2800, 3100, 3300, + 1800, 2000, 2500, 2700, 3200, 3300, + 1800, 2000, 2600, 2700, 3200, 3400, + 1800, 2000, 2600, 2700, 3200, 3300, + 1800, 2200, 2600, 2800, 3200, 3300, + 1800, 2100, 2600, 2800, 3100, 3300, + 1700, 1900, 2500, 2700, 3000, 3300, + 1800, 1900, 2500, 2700, 3000, 3300, + 1900, 2000, 2500, 2700, 3100, 3300, + 1900, 2000, 2500, 2700, 3100, 3400, + 1700, 1900, 2600, 2800, 3200, 3400, + 1600, 1900, 2600, 2800, 3300, 3400, + 1500, 1800, 2500, 2700, 3300, 3400, + 1500, 1900, 2400, 2500, 3200, 3400, + 1200, 1800, 2200, 2300, 3100, 3200, + 1400, 1900, 2300, 2600, 3000, 3300, + 1300, 1400, 2300, 2400, 2800, 3100, + 1300, 1400, 2300, 2500, 3000, 3200, + 1300, 1600, 2400, 2600, 3000, 3200, + 1400, 1600, 2400, 2500, 2900, 3200, + 1500, 1600, 2400, 2600, 3000, 3200, + 1500, 1700, 2400, 2600, 2900, 3200, + 1600, 1800, 2400, 2600, 2900, 3100, + 1800, 2000, 2500, 2700, 3000, 3300, + 1900, 2100, 2600, 2700, 3000, 3300, + 1900, 2100, 2500, 2700, 3000, 3200, + 2000, 2100, 2400, 2700, 3100, 3300, + 2000, 2200, 2400, 2700, 3100, 3300, + 1900, 2300, 2600, 2700, 3000, 3200, + 2000, 2200, 2500, 2600, 3000, 3200, + 1900, 2000, 2500, 2600, 3000, 3300, + 1800, 2000, 2400, 2600, 3000, 3300, + 1500, 1900, 2300, 2500, 2700, 3000, + 1500, 2000, 2400, 2500, 2700, 3100, + 1200, 1900, 2300, 2500, 2800, 3000, + 1300, 1800, 2200, 2300, 3100, 3200, + 1600, 1900, 2400, 2500, 3100, 3200, + 2100, 2200, 2600, 2700, 3100, 3300, + 2100, 2200, 2600, 2700, 3000, 3300, + 2000, 2200, 2600, 2700, 3100, 3300, + 2000, 2100, 2400, 2600, 3200, 3300, + 1800, 2000, 2300, 2400, 3100, 3300, + 1500, 2000, 2200, 2500, 3200, 3300, + 1600, 1900, 2400, 2600, 3100, 3300, + 1500, 1800, 2200, 2600, 3000, 3200, + 1500, 1800, 2100, 2600, 2900, 3100, + 1400, 1700, 1900, 2300, 2800, 3000, + 1500, 1700, 1900, 2200, 2800, 2900, + 1500, 1700, 2000, 2200, 2900, 3000, + 1500, 1700, 2100, 2300, 2900, 3000, + 1500, 1800, 2200, 2300, 3000, 3100, + 1500, 1800, 2200, 2400, 3000, 3100, + 1600, 1800, 2300, 2400, 3100, 3200, + 1600, 1800, 2300, 2500, 3100, 3200, + 1600, 1800, 2400, 2500, 3100, 3200, + 1600, 1800, 2400, 2500, 3100, 3300, + 1600, 1800, 2400, 2500, 3200, 3300, + 1500, 1700, 2400, 2500, 3200, 3300, + 1500, 1700, 2300, 2500, 2900, 3300, + 1800, 2100, 2500, 2600, 3200, 3300, + 1900, 2100, 2400, 2500, 3100, 3400, + 1900, 2100, 2200, 2500, 3100, 3300, + 1700, 1800, 2200, 2500, 2900, 3300, + 1700, 1800, 2400, 2500, 3000, 3300, + 1600, 1700, 2400, 2500, 3100, 3300, + 1500, 1700, 2400, 2500, 3100, 3300, + 1400, 1700, 2500, 2600, 3100, 3200, + 1300, 1600, 2500, 2600, 3100, 3200, + 1200, 1600, 2500, 2600, 3100, 3200, + 1100, 1700, 2600, 2700, 3100, 3200, + 1100, 1500, 2600, 2700, 3100, 3200, + 1100, 1500, 2600, 2700, 3100, 3300, + 1100, 1500, 2500, 2700, 3000, 3300, + 1000, 1600, 2600, 2700, 3100, 3300, + 1300, 1600, 2600, 2700, 3100, 3300, + 1300, 1600, 2600, 2700, 3200, 3300, + 1500, 1700, 2500, 2600, 3100, 3300, + 1700, 1800, 2500, 2600, 3100, 3300, + 1700, 1900, 2500, 2600, 3200, 3300, + 1800, 1900, 2500, 2600, 3200, 3300, + 1800, 2000, 2500, 2700, 3100, 3400, + 1800, 2100, 2500, 2700, 3100, 3300, + 1900, 2200, 2500, 2700, 3200, 3300, + 1900, 2200, 2400, 2600, 3100, 3300, + 1900, 2300, 2500, 2600, 3100, 3300, + 1900, 2000, 2200, 2400, 3200, 3300, + 1600, 1900, 2200, 2300, 3200, 3300, + 1400, 1600, 2200, 2400, 3100, 3200, + 1100, 1500, 2300, 2500, 3000, 3100, + 1400, 1700, 2500, 2700, 3200, 3300, + 1500, 1800, 2400, 2500, 3200, 3300, + 1800, 2100, 2500, 2800, 3100, 3300, + 1800, 1900, 2300, 2500, 3200, 3400, + 1700, 1900, 2300, 2500, 3200, 3400, + 1800, 2100, 2500, 2800, 3200, 3400, + 1800, 2000, 2500, 2800, 3200, 3300, + 1900, 2100, 2600, 2800, 3100, 3400, + 1700, 2100, 2600, 2700, 3200, 3400, + 1800, 2100, 2600, 2700, 3300, 3500, + 1900, 2000, 2500, 2600, 3300, 3400, + 1600, 1900, 2200, 2400, 3200, 3300, + 1400, 2000, 2300, 2600, 3100, 3200, + 1300, 1800, 2300, 2400, 3000, 3100, + 1300, 1700, 2300, 2500, 3000, 3100, + 1600, 1700, 2600, 2700, 3200, 3300, + 1700, 2000, 2300, 2400, 3100, 3300, + 2200, 2300, 2600, 2800, 3200, 3400, + 2100, 2300, 2500, 2900, 3200, 3300, + 2200, 2300, 2500, 2900, 3200, 3300, + 2000, 2300, 2500, 2700, 3200, 3300, + 2200, 2400, 2500, 2700, 3200, 3300, + 2200, 2400, 2600, 2800, 3200, 3300, + 1700, 2000, 2400, 2700, 3000, 3200, + 1700, 1900, 2500, 2700, 3000, 3200, + 1700, 1900, 2600, 2700, 3100, 3300, + 1500, 1800, 2600, 2700, 3100, 3300, + 1600, 1700, 2600, 2700, 2900, 3300, + 1600, 1700, 2600, 2800, 3000, 3300, + 1700, 2000, 2700, 2800, 3100, 3400, + 1600, 1900, 2500, 2700, 3000, 3300, + 1800, 2200, 2800, 2900, 3300, 3400, + 2000, 2500, 2800, 2900, 3400, 3500, + 2000, 2400, 2800, 2900, 3400, 3500, + 2000, 2300, 2700, 2800, 3200, 3400, + 1600, 1700, 2400, 2600, 3200, 3300, + 1500, 1900, 2400, 2500, 3200, 3300, + 1400, 1900, 2400, 2500, 3200, 3300, + 1400, 1900, 2500, 2600, 3200, 3300, + 1300, 1900, 2500, 2600, 3200, 3300, + 1300, 1700, 2500, 2600, 3100, 3300, + 1300, 1500, 2500, 2600, 3100, 3300, + 1200, 1400, 2400, 2500, 3100, 3300, + 1200, 1500, 2400, 2500, 3100, 3300, + 1200, 1600, 2400, 2500, 3100, 3300, + 1200, 1700, 2500, 2600, 3100, 3300, + 1200, 1700, 2500, 2600, 3200, 3300, + 1200, 1800, 2500, 2600, 3200, 3300, + 1200, 1800, 2400, 2500, 3200, 3300, + 1200, 1800, 2400, 2500, 3100, 3300, + 1200, 1700, 2400, 2500, 3100, 3200, + 1200, 1600, 2400, 2500, 3000, 3200, + 1200, 1600, 2400, 2500, 2900, 3100, + 1200, 1700, 2400, 2500, 3000, 3300, + 1300, 1700, 2400, 2500, 3100, 3300, + 1200, 1700, 2400, 2500, 3000, 3100, + 1200, 1700, 2300, 2400, 3000, 3100, + 1600, 2000, 2300, 2600, 3000, 3300, + 1400, 1600, 1900, 2200, 3000, 3100, + 1400, 1600, 1800, 2100, 3000, 3100, + 1300, 1500, 1600, 2000, 3100, 3200, + 1300, 1500, 1700, 1900, 3100, 3200, + 1400, 1600, 1700, 1900, 3100, 3200, + 1600, 1700, 2000, 2100, 3100, 3200, + 1600, 1800, 2100, 2200, 3100, 3200, + 1800, 1900, 2300, 2400, 3200, 3300, + 1900, 2100, 2600, 2700, 3100, 3400, + 1900, 2000, 2500, 2600, 3000, 3400, + 1800, 2100, 2600, 2700, 3200, 3400, + 1800, 2300, 2600, 2800, 3300, 3500, + 1600, 2100, 2400, 2600, 3200, 3300, + 1300, 1900, 2500, 2600, 3100, 3300, + 1300, 1800, 2500, 2600, 3100, 3300, + 1400, 1800, 2600, 2700, 3100, 3300, + 1600, 1800, 2500, 2700, 3100, 3300, + 1600, 1800, 2500, 2600, 3200, 3300, + 1700, 1800, 2500, 2600, 3200, 3300, + 1900, 2000, 2500, 2700, 2900, 3300, + 2000, 2100, 2400, 2600, 2900, 3200, + 2000, 2100, 2400, 2600, 3000, 3300, + 2100, 2200, 2400, 2600, 3000, 3300, + 2000, 2100, 2500, 2600, 3100, 3400, + 1900, 2000, 2400, 2600, 3000, 3400, + 1800, 1900, 2300, 2500, 2900, 3400, + 1700, 1800, 2500, 2700, 3100, 3400, + 1700, 1900, 2500, 2700, 3100, 3400, + 1800, 1900, 2700, 2800, 3200, 3400, + 2100, 2200, 2600, 2800, 3100, 3400, + 2200, 2300, 2600, 2800, 3100, 3400, + 1800, 2300, 2500, 2700, 3100, 3300, + 1500, 2000, 2400, 2500, 2800, 3100, + 1600, 2000, 2400, 2500, 2800, 3100, + 1600, 2000, 2400, 2500, 2800, 3200, + 1600, 2000, 2400, 2500, 2900, 3300, + 1800, 2200, 2500, 2600, 3000, 3300, + 2100, 2300, 2500, 2600, 3100, 3300, + 2100, 2200, 2600, 2700, 3100, 3200, + 1800, 1900, 2600, 2700, 3100, 3200, + 1800, 1900, 2600, 2700, 3100, 3300, + 1700, 1800, 2600, 2700, 3100, 3300, + 1700, 1800, 2600, 2700, 3200, 3300, + 1600, 1700, 2600, 2700, 3200, 3400, + 1600, 1700, 2500, 2700, 3200, 3300, + 1500, 1800, 2400, 2500, 3000, 3300, + 1500, 1900, 2300, 2500, 3000, 3200, + 1700, 2100, 2300, 2600, 3100, 3300, + 1800, 2000, 2700, 2800, 3100, 3300, + 1700, 1800, 2500, 2700, 2900, 3300, + 1600, 1800, 2500, 2700, 3000, 3300, + 1700, 1800, 2400, 2600, 3100, 3300, + 1700, 1800, 2400, 2500, 3200, 3300, + 1800, 1900, 2400, 2500, 3200, 3300, + 1900, 2000, 2400, 2500, 3200, 3300, + 2000, 2100, 2300, 2500, 3200, 3400, + 2000, 2100, 2200, 2400, 3200, 3400, + 2000, 2100, 2300, 2400, 3100, 3400, + 1700, 1900, 2400, 2500, 3200, 3400, + 1700, 1900, 2400, 2500, 3100, 3400, + 1700, 1800, 2400, 2600, 3300, 3400, + 1700, 1800, 2500, 2600, 3300, 3400, + 1600, 1900, 2500, 2600, 3300, 3400, + 1700, 1900, 2600, 2800, 3100, 3300, + 1700, 2100, 2600, 2700, 3300, 3400, + 1800, 2000, 2400, 2500, 3100, 3300, + 2000, 2100, 2300, 2400, 3200, 3400, + 1400, 1900, 2300, 2400, 3000, 3300, + 1400, 2000, 2300, 2500, 3000, 3100, + 1400, 1700, 2500, 2600, 3100, 3300, + 1300, 1600, 2400, 2600, 3100, 3300, + 1300, 1600, 2400, 2500, 3200, 3400, + 1500, 2000, 2500, 2700, 3200, 3400, + 1800, 2100, 2500, 2900, 3200, 3400, + 1800, 2200, 2500, 2800, 3300, 3400, + 1700, 2000, 2500, 2900, 3300, 3400, + 1700, 2100, 2600, 2900, 3400, 3500, + 1500, 1900, 2400, 2800, 3300, 3400, + 1800, 2100, 2500, 2800, 3300, 3400, + 1700, 2000, 2600, 2800, 3300, 3400, + 1700, 2100, 2600, 2800, 3200, 3400, + 1900, 2200, 2600, 2800, 3200, 3300, + 1900, 2100, 2600, 2800, 3200, 3300, + 1800, 2100, 2700, 2800, 3300, 3400, + 1700, 2100, 2700, 2800, 3200, 3400, + 1800, 2200, 2600, 2700, 3200, 3400, + 1800, 2200, 2600, 2700, 3300, 3400, + 1800, 2300, 2600, 2700, 3300, 3400, + 1900, 2300, 2500, 2700, 3300, 3400, + 1800, 2200, 2500, 2800, 3200, 3400, + 1800, 2200, 2500, 2700, 3100, 3300, + 1700, 2200, 2400, 2600, 3100, 3200, + 1800, 2000, 2300, 2500, 3200, 3300, + 1800, 2000, 2200, 2500, 3300, 3400, + 1800, 2000, 2200, 2600, 3300, 3400, + 1500, 1800, 1900, 2400, 3200, 3300, + 1500, 1700, 1900, 2500, 3200, 3300, + 1500, 1800, 1900, 2500, 3200, 3300, + 1600, 1800, 2000, 2400, 3300, 3400, + 1500, 1700, 2200, 2600, 3000, 3200, + 1400, 1700, 2000, 2600, 3000, 3200, + 1500, 1900, 2400, 2600, 3100, 3200, + 1400, 1900, 2500, 2600, 3100, 3300, + 1200, 1600, 2500, 2700, 3100, 3300, + 1200, 1800, 2500, 2600, 3100, 3200, + 1400, 1800, 2300, 2400, 3100, 3200, + 1400, 1700, 2200, 2300, 3200, 3300, + 1800, 1900, 2200, 2300, 3300, 3400, + 1800, 2100, 2300, 2400, 2900, 3200, + 1900, 2100, 2300, 2500, 3000, 3300, + 1900, 2100, 2400, 2600, 3300, 3400, + 1600, 1900, 2400, 2500, 3200, 3300, + 1500, 1700, 2300, 2400, 3200, 3300, + 1500, 1900, 2300, 2500, 3200, 3300, + 1600, 2000, 2500, 2700, 3200, 3300, + 1900, 2200, 2500, 2700, 3300, 3400, + 1800, 2300, 2500, 2700, 3300, 3400, + 1800, 2400, 2500, 2900, 3300, 3400, + 1900, 2400, 2600, 3000, 3300, 3400, + 2000, 2400, 2700, 3000, 3400, 3500, + 1800, 2100, 2500, 2900, 3200, 3300, + 1700, 2100, 2500, 2900, 3200, 3400, + 1800, 2100, 2600, 2800, 3100, 3400, + 1800, 2200, 2700, 2800, 3200, 3400, + 1800, 2300, 2700, 2900, 3300, 3500, + 1400, 2000, 2600, 2700, 3200, 3400, + 1300, 1800, 2200, 2300, 3000, 3100, + 1300, 1700, 2100, 2200, 3100, 3200, + 1400, 1700, 2000, 2200, 3000, 3100, + 1400, 1600, 2000, 2100, 3000, 3100, + 1500, 1800, 2000, 2300, 3100, 3200, + 1600, 1800, 2000, 2300, 3100, 3200, + 1600, 1800, 2000, 2200, 3100, 3200, + 1700, 2000, 2200, 2300, 3000, 3200, + 1700, 2100, 2400, 2800, 3100, 3300, + 1800, 2000, 2600, 2800, 3000, 3200, + 1700, 1900, 2600, 2700, 3200, 3400, + 1600, 1700, 2400, 2600, 3200, 3400, + 1600, 1700, 2400, 2500, 3200, 3400, + 1700, 2100, 2500, 2800, 3200, 3300, + 1700, 2200, 2500, 2800, 3200, 3300, + 1700, 2100, 2400, 2600, 3200, 3300, + 1700, 1900, 2400, 2600, 3200, 3300, + 1600, 1900, 2200, 2500, 3100, 3300, + 1500, 1900, 2100, 2400, 3100, 3300, + 1500, 1600, 2000, 2300, 3000, 3200, + 1500, 1700, 2100, 2500, 3100, 3300, + 1600, 1800, 2300, 2700, 3100, 3300, + 1600, 1700, 2300, 2600, 3100, 3200, + 1500, 1700, 2300, 2500, 3000, 3200, + 1400, 1700, 2400, 2500, 3000, 3200, + 1200, 1500, 2500, 2600, 3000, 3100, + 1100, 1900, 2600, 2700, 3000, 3100, + 1500, 2000, 2700, 2800, 3200, 3400, + 1700, 2100, 2700, 2800, 3300, 3400, + 1800, 2200, 2700, 2800, 3300, 3400, + 1800, 2400, 2700, 2800, 3200, 3300, + 1800, 2300, 2500, 2600, 3100, 3200, + 1500, 1800, 2100, 2400, 3000, 3200, + 1400, 1600, 1800, 2200, 3000, 3100, + 1300, 1600, 1700, 2100, 3000, 3100, + 1200, 1400, 1600, 2400, 3000, 3100, + 1300, 1500, 1600, 2100, 3000, 3100, + 1400, 1600, 1700, 2100, 3000, 3100, + 1400, 1700, 2100, 2300, 3100, 3200, + 1400, 1700, 2200, 2300, 3100, 3200, + 1400, 1600, 2200, 2300, 3100, 3200, + 1400, 1700, 2200, 2400, 3100, 3200, + 1400, 1700, 2300, 2400, 3100, 3200, + 1400, 1600, 2300, 2400, 3100, 3200, + 1400, 1600, 2200, 2300, 3000, 3200, + 1500, 2000, 2400, 2600, 3200, 3300, + 1700, 2000, 2700, 2800, 3200, 3400, + 2100, 2400, 2800, 2900, 3200, 3400, + 2000, 2500, 2700, 2800, 3400, 3500, + 2100, 2600, 2800, 2900, 3400, 3500, + 2000, 2500, 2700, 2800, 3300, 3400, + 1900, 2100, 2700, 2800, 3200, 3400, + 2100, 2200, 2700, 2800, 3200, 3400, + 2100, 2200, 2700, 2900, 3300, 3400, + 2200, 2300, 2700, 2800, 3200, 3400, + 1700, 2100, 2400, 2700, 3200, 3400, + 1600, 2100, 2400, 2600, 2900, 3200, + 1500, 2100, 2400, 2500, 2800, 3100, + 1600, 2100, 2400, 2500, 2800, 3200, + 1600, 2100, 2400, 2500, 2900, 3200, + 1600, 2100, 2400, 2500, 3000, 3200, + 1600, 2100, 2300, 2500, 3200, 3300, + 1700, 1800, 2200, 2600, 3100, 3300, + 1700, 1900, 2300, 2600, 3100, 3300, + 1800, 1900, 2300, 2500, 3100, 3300, + 1800, 1900, 2400, 2500, 3100, 3200, + 1600, 1800, 2200, 2500, 3100, 3300, + 1500, 1700, 1900, 2200, 3100, 3200, + 1500, 1700, 1900, 2100, 3100, 3200, + 1500, 1700, 1900, 2300, 3200, 3300, + 1500, 1700, 1900, 2400, 3200, 3300, + 1500, 1700, 1800, 2400, 3200, 3300, + 1500, 1700, 1900, 2200, 3200, 3300, + 1500, 1700, 1900, 2100, 3200, 3300, + 1500, 1600, 1900, 2000, 3100, 3200, + 1500, 1700, 2000, 2100, 3200, 3300, + 1600, 1700, 2000, 2100, 3200, 3300, + 1600, 1800, 2100, 2300, 3200, 3300, + 1700, 1900, 2300, 2500, 3100, 3200, + 1700, 2000, 2400, 2600, 3000, 3100, + 1700, 2100, 2400, 2600, 3000, 3100, + 1600, 2000, 2400, 2600, 2900, 3100, + 1800, 2200, 2600, 2800, 3000, 3200, + 2000, 2400, 2500, 2800, 3100, 3200, + 2100, 2500, 2600, 2800, 3200, 3300, + 2200, 2500, 2700, 3000, 3200, 3300, + 2100, 2500, 2700, 3000, 3200, 3300, + 2200, 2500, 2600, 3000, 3200, 3300, + 2200, 2500, 2600, 2900, 3200, 3300, + 2200, 2400, 2600, 2800, 3100, 3300, + 2000, 2300, 2500, 2700, 3100, 3200, + 2000, 2200, 2500, 2700, 3100, 3200, + 2000, 2300, 2500, 2800, 3100, 3200, + 2000, 2300, 2400, 2800, 3100, 3200, + 2100, 2200, 2500, 2800, 3100, 3200, + 2000, 2100, 2500, 2800, 3200, 3300, + 1900, 2000, 2200, 2500, 3200, 3300, + 1600, 1800, 2100, 2400, 3100, 3300, + 1500, 1600, 1800, 2100, 3200, 3300, + 1500, 1700, 1800, 2100, 3200, 3300, + 1500, 1700, 1800, 2300, 3200, 3300, + 2000, 2200, 2400, 2600, 3000, 3200, + 2000, 2400, 2600, 2800, 3100, 3300, + 2000, 2400, 2500, 2700, 3100, 3300, + 1800, 2200, 2500, 2600, 3100, 3300, + 1600, 1800, 2400, 2500, 3000, 3200, + 1500, 1800, 2400, 2500, 3000, 3100, + 1800, 2000, 2200, 2700, 3000, 3300, + 1600, 1900, 2100, 2600, 3000, 3200, + 1500, 1700, 1900, 2300, 3000, 3100, + 1500, 1700, 1900, 2200, 3000, 3100, + 1600, 1700, 2200, 2400, 2900, 3000, + 1600, 1800, 2200, 2400, 2900, 3000, + 1800, 2300, 2600, 2700, 3200, 3400, + 1800, 1900, 2500, 2600, 3300, 3400, + 1800, 1900, 2400, 2600, 3300, 3400, + 1700, 1900, 2300, 2500, 3300, 3400, + 1600, 1800, 2300, 2400, 3200, 3300, + 1300, 1900, 2300, 2400, 3100, 3200, + 1600, 1700, 2400, 2600, 3100, 3200, + 2000, 2100, 2500, 2600, 3200, 3300, + 2100, 2200, 2400, 2600, 3200, 3400, + 1700, 2000, 2400, 2600, 3100, 3400, + 1700, 1800, 2400, 2500, 3100, 3300, + 1600, 1900, 2300, 2400, 3100, 3200, + 1600, 1900, 2200, 2500, 3000, 3100, + 1500, 1800, 2000, 2300, 3000, 3100, + 1500, 1700, 1900, 2100, 2900, 3000, + 1400, 1600, 2400, 2700, 2900, 3100, + 1400, 1600, 2300, 2600, 3000, 3100, + 1500, 1600, 2300, 2500, 2900, 3100, + 1600, 1700, 2400, 2600, 3000, 3200, + 1600, 1800, 2400, 2600, 3100, 3200, + 1600, 1900, 2400, 2600, 3100, 3200, + 1700, 2100, 2400, 2600, 3100, 3200, + 1600, 2000, 2300, 2600, 3100, 3200, + 1400, 1600, 2200, 2300, 3100, 3300, + 1400, 1600, 2200, 2300, 3200, 3300, + 1300, 1800, 2300, 2500, 3300, 3400, + 1200, 1900, 2400, 2500, 3300, 3400, + 1200, 1700, 2400, 2500, 3300, 3400, + 1500, 1700, 2300, 2500, 3100, 3200, + 1900, 2000, 2300, 2400, 3200, 3300, + 2200, 2300, 2500, 2700, 3200, 3300, + 2100, 2300, 2500, 2800, 3300, 3400, + 1300, 1900, 2300, 2400, 3100, 3300, + 1800, 2000, 2400, 2700, 3200, 3300, + 1500, 2000, 2300, 2400, 3000, 3300, + 1600, 2000, 2400, 2700, 3000, 3200, + 1800, 2100, 2400, 2600, 3000, 3200, + 1800, 2100, 2400, 2600, 3000, 3300, + 1800, 2100, 2400, 2500, 3100, 3300, + 1700, 2100, 2300, 2600, 3100, 3200, + 1600, 2000, 2200, 2500, 3200, 3300, + 1500, 1800, 2200, 2300, 3200, 3400, + 1400, 1600, 2200, 2300, 3200, 3400, + 1300, 1500, 2200, 2300, 3200, 3300, + 1200, 1600, 2300, 2400, 3300, 3400, + 1200, 1500, 2300, 2400, 3200, 3400, + 1200, 1400, 2300, 2400, 3100, 3400, + 1300, 1500, 2400, 2500, 3200, 3400, + 1700, 2300, 2600, 2700, 3300, 3400, + 1800, 2400, 2700, 3000, 3300, 3400, + 1800, 2300, 2700, 2800, 3200, 3300, + 1800, 2200, 2500, 2600, 3300, 3400, + 1700, 1900, 2400, 2600, 3200, 3400, + 1700, 1800, 2200, 2500, 3200, 3400, + 1500, 1700, 2300, 2500, 3100, 3300, + 1400, 1700, 2200, 2400, 3000, 3200, + 1300, 1600, 2200, 2300, 3000, 3100, + 1300, 1900, 2200, 2400, 2900, 3100, + 1400, 1900, 2300, 2400, 3000, 3100, + 1400, 1900, 2300, 2500, 2900, 3100, + 1400, 1800, 2400, 2600, 2800, 3100, + 1600, 2000, 2500, 2700, 3100, 3300, + 1500, 2000, 2500, 2700, 3200, 3300, + 1500, 2100, 2600, 2900, 3300, 3400, + 1800, 2300, 2600, 2800, 3300, 3400, + 1700, 2200, 2600, 2700, 3300, 3400, + 2000, 2200, 2500, 2700, 3000, 3100, + 2000, 2300, 2600, 2800, 3100, 3200, + 2100, 2400, 2500, 2900, 3200, 3300, + 2100, 2300, 2500, 2800, 3100, 3200, + 1900, 2200, 2300, 2700, 3100, 3200, + 1200, 1900, 2000, 2300, 3100, 3200, + 1300, 1600, 1700, 2100, 3200, 3300, + 1400, 1600, 1700, 2100, 3200, 3300, + 1400, 1600, 1700, 2200, 3200, 3300, + 1600, 1700, 2200, 2600, 2900, 3100, + 1900, 2300, 2700, 2900, 3200, 3300, + 1700, 2100, 2700, 2900, 3200, 3400, + 1800, 2100, 2700, 2800, 3100, 3400, + 1800, 2100, 2600, 2800, 3000, 3200, + 1800, 2100, 2700, 2800, 3200, 3400, + 1400, 1600, 2600, 2700, 3000, 3300, + 1400, 1500, 2600, 2700, 3000, 3400, + 1300, 1400, 2400, 2800, 3000, 3300, + 1800, 2200, 2600, 2900, 3200, 3400, + 1600, 2100, 2600, 2900, 3200, 3400, + 1200, 1700, 2500, 2600, 3000, 3100, + 1200, 1800, 2300, 2600, 3000, 3100, + 1200, 1800, 2300, 2500, 3000, 3100, + 1300, 1700, 2400, 2500, 3000, 3100, + 1500, 1800, 2400, 2500, 2900, 3000, + 1600, 2300, 2500, 2700, 3000, 3100, + 1900, 2200, 2700, 2900, 3100, 3200, + 1900, 2200, 2800, 2900, 3100, 3200, + 1900, 2300, 2800, 2900, 3200, 3300, + 2200, 2500, 2800, 3000, 3300, 3400, + 2100, 2500, 2800, 3000, 3300, 3400, + 2000, 2400, 2700, 2800, 3300, 3500, + 1900, 2200, 2600, 2800, 3300, 3400, + 1900, 2100, 2700, 2800, 3300, 3400, + 1700, 1900, 2600, 2700, 3000, 3300, + 1600, 1700, 2500, 2600, 3100, 3300, + 1800, 1900, 2600, 2800, 3100, 3300, + 1800, 1900, 2500, 2800, 3000, 3300, + 1900, 2000, 2600, 2800, 3100, 3400, + 2000, 2100, 2500, 2700, 3000, 3300, + 2100, 2200, 2500, 2700, 3000, 3300, + 2100, 2200, 2500, 2800, 3000, 3300, + 2000, 2100, 2400, 2700, 2900, 3200, + 1900, 2000, 2400, 2600, 2800, 3100, + 1700, 2000, 2500, 2700, 3100, 3300, + 1700, 2100, 2700, 2800, 3100, 3300, + 1500, 1700, 2400, 2600, 3100, 3400, + 1500, 1600, 2400, 2500, 3000, 3300, + 1400, 1600, 2300, 2600, 3100, 3300, + 1400, 1500, 2300, 2600, 3100, 3300, + 1500, 1600, 2400, 2600, 2900, 3200, + 1600, 1700, 2300, 2600, 3000, 3200, + 1600, 1700, 2300, 2700, 3000, 3200, + 1700, 1800, 2400, 2600, 3000, 3200, + 1600, 1700, 2300, 2500, 3100, 3200, + 1500, 1600, 2200, 2400, 3100, 3200, + 1300, 1800, 2200, 2400, 3100, 3200, + 1300, 1800, 2300, 2400, 3000, 3200, + 1200, 1700, 2300, 2400, 2900, 3100, + 1200, 1800, 2400, 2500, 2900, 3200, + 1200, 1800, 2300, 2500, 3100, 3200, + 1300, 1800, 2400, 2600, 3200, 3300, + 1300, 1700, 2400, 2500, 3200, 3300, + 1200, 1700, 2400, 2500, 3200, 3300, + 1200, 1500, 2400, 2500, 3200, 3300, + 1900, 2100, 2500, 2800, 3100, 3300, + 1800, 2000, 2400, 2700, 3000, 3300, + 1800, 2000, 2300, 2600, 3000, 3300, + 1900, 2000, 2300, 2400, 3200, 3500, + 1900, 2000, 2300, 2400, 3100, 3400, + 1800, 2000, 2300, 2500, 3200, 3400, + 1700, 2000, 2500, 2600, 3300, 3400, + 1800, 2100, 2500, 2800, 3100, 3400, + 1800, 2000, 2500, 2800, 3100, 3300, + 1800, 2100, 2500, 2600, 3100, 3300, + 1700, 2100, 2500, 2700, 3100, 3400, + 1600, 1700, 2500, 2600, 3200, 3300, + 1500, 2200, 2400, 2700, 3200, 3300, + 1400, 2000, 2300, 2700, 3300, 3400, + 1400, 2000, 2300, 2500, 3300, 3400, + 1600, 2000, 2400, 2600, 3100, 3300, + 1600, 2000, 2300, 2600, 3300, 3400, + 1600, 2100, 2300, 2600, 3300, 3400, + 1700, 1900, 2300, 2600, 3300, 3400, + 1900, 2000, 2300, 2400, 3300, 3400, + 1900, 2000, 2200, 2400, 3300, 3400, + 1700, 1800, 2200, 2500, 3000, 3200, + 1700, 1800, 2100, 2500, 3000, 3200, + 1500, 1700, 2100, 2500, 3000, 3200, + 1500, 1600, 2100, 2500, 3000, 3200, + 1500, 1700, 2200, 2700, 3100, 3200, + 1600, 1900, 2300, 2700, 3200, 3300, + 1500, 1700, 1800, 2600, 3200, 3300, + 1600, 1900, 2100, 2500, 3100, 3300, + 2000, 2300, 2700, 2800, 3100, 3300, + 2200, 2500, 2900, 3000, 3200, 3300, + 2300, 2500, 2900, 3000, 3200, 3300, + 1400, 1900, 2300, 2500, 3200, 3300, + 1600, 2000, 2300, 2700, 3200, 3300, + 1500, 1900, 2000, 2400, 3200, 3300, + 1300, 1800, 2000, 2400, 3300, 3400, + 1400, 1900, 2200, 2500, 3200, 3300, + 1800, 2200, 2600, 3000, 3300, 3400, + 1900, 2200, 2800, 2900, 3300, 3400, + 2000, 2500, 2900, 3100, 3200, 3300, + 2000, 2400, 2900, 3000, 3300, 3400, + 2100, 2400, 2800, 3000, 3200, 3300, + 2000, 2400, 2700, 2900, 3200, 3300, + 1700, 2100, 2600, 2800, 3200, 3300, + 1500, 1900, 2300, 2700, 3100, 3300, + 1500, 1800, 2200, 2600, 3200, 3300, + 1500, 1700, 2200, 2500, 3200, 3400, + 1100, 2200, 2500, 2800, 3200, 3300, + 1000, 2100, 2500, 2700, 3200, 3300, + 1000, 2000, 2500, 2700, 3200, 3300, + 1000, 2000, 2400, 2600, 3200, 3300, + 1100, 1900, 2400, 2600, 3100, 3200, + 1600, 1900, 2400, 2700, 3100, 3400, + 1700, 2100, 2500, 2700, 3000, 3200, + 2000, 2200, 2600, 2800, 3100, 3300, + 2100, 2200, 2600, 2800, 3100, 3300, + 1900, 2100, 2400, 2700, 3100, 3300, + 1900, 2000, 2300, 2600, 3100, 3200, + 1800, 1900, 2200, 2600, 3100, 3200, + 1500, 1700, 2000, 2600, 3100, 3200, + 1400, 1500, 1800, 2800, 3200, 3300, + 1300, 1500, 1700, 2600, 3200, 3300, + 1600, 1900, 2400, 2700, 3100, 3200, + 1600, 1900, 2400, 2700, 3100, 3300, + 1700, 1900, 2300, 2700, 3000, 3200, + 1700, 1900, 2200, 2600, 3000, 3200, + 1200, 1600, 1800, 2000, 3100, 3400, + 1100, 1600, 2400, 2500, 3000, 3300, + 1400, 1700, 2300, 2400, 2900, 3200, + 1700, 2000, 2300, 2700, 3200, 3300, + 1600, 1700, 2300, 2400, 3000, 3400, + 1700, 1800, 2300, 2400, 2900, 3400, + 1700, 1800, 2300, 2400, 2800, 3300, + 1800, 1900, 2300, 2400, 2800, 3200, + 1800, 1900, 2300, 2400, 3000, 3300, + 1800, 1900, 2300, 2400, 2900, 3300, + 1700, 1800, 2200, 2300, 2600, 3200, + 1700, 1800, 2200, 2300, 2700, 3200, + 1700, 1800, 2300, 2400, 3000, 3300, + 1700, 1800, 2300, 2400, 3100, 3400, + 1700, 1800, 2200, 2400, 3200, 3400, + 1700, 1900, 2200, 2400, 3300, 3400, + 1800, 1900, 2200, 2400, 3200, 3400, + 1800, 1900, 2300, 2400, 3200, 3400, + 1800, 1900, 2300, 2400, 3100, 3400, + 1800, 2000, 2200, 2400, 3200, 3300, + 1800, 1900, 2200, 2400, 3200, 3300, + 1700, 1800, 2000, 2200, 3200, 3300, + 1400, 1700, 1800, 2200, 3200, 3300, + 1400, 1800, 2100, 2500, 3100, 3300, + 1500, 1800, 2200, 2700, 3100, 3200, + 1600, 2000, 2300, 2500, 2900, 3200, + 1800, 2200, 2500, 2700, 3000, 3300, + 2000, 2400, 2700, 2800, 3100, 3300, + 2200, 2500, 2800, 2900, 3200, 3300, + 1500, 2300, 2500, 2900, 3300, 3400, + 1500, 1700, 2300, 2600, 3000, 3200, + 1700, 1900, 2300, 2600, 3000, 3300, + 1600, 1700, 2200, 2300, 3200, 3400, + 1600, 1700, 2200, 2300, 3300, 3400, + 1200, 2000, 2400, 2600, 3200, 3300, + 1000, 1800, 2400, 2500, 3200, 3300, + 1000, 2000, 2300, 2500, 3200, 3300, + 1300, 1700, 2200, 2600, 3100, 3200, + 1600, 1900, 2500, 2700, 3000, 3200, + 1300, 1900, 2400, 2700, 3000, 3200, + 1600, 1800, 2200, 2700, 3100, 3200, + 1700, 2100, 2300, 2500, 3100, 3300, + 1600, 1900, 2400, 2500, 3200, 3400, + 1600, 2000, 2300, 2500, 3100, 3300, + 1600, 1900, 2300, 2400, 3000, 3200, + 1500, 1900, 2200, 2300, 3000, 3200, + 1500, 2000, 2200, 2400, 3100, 3200, + 1400, 2000, 2200, 2400, 3100, 3200, + 1300, 2000, 2200, 2500, 3100, 3200, + 1100, 2100, 2300, 2600, 3100, 3200, + 1000, 2000, 2400, 2500, 3100, 3200, + 1000, 1700, 2400, 2500, 3100, 3200, + 1000, 1600, 2400, 2500, 3100, 3200, + 1100, 1600, 2400, 2500, 3100, 3200, + 1100, 1600, 2400, 2600, 3100, 3200, + 1100, 1600, 2500, 2600, 3200, 3300, + 1100, 1500, 2500, 2600, 3200, 3300, + 1100, 1500, 2500, 2600, 3100, 3200, + 1200, 1400, 2400, 2600, 3100, 3200, + 1300, 1700, 2300, 2400, 3200, 3300, + 1300, 1800, 2300, 2400, 3200, 3300, + 1300, 1900, 2300, 2400, 3200, 3300, + 1400, 1900, 2300, 2400, 3100, 3300, + 1500, 1700, 2300, 2400, 3000, 3200, + 1500, 1700, 2300, 2400, 3000, 3300, + 2100, 2300, 2800, 3000, 3300, 3400, + 2200, 2400, 2900, 3000, 3200, 3300, + 2100, 2300, 2900, 3000, 3300, 3400, + 2000, 2300, 2600, 3000, 3200, 3300, + 1300, 1600, 2200, 2600, 3100, 3300, + 1000, 2000, 2300, 2500, 3300, 3400, + 1000, 2100, 2400, 2600, 3300, 3400, + 1300, 1700, 1900, 2100, 3100, 3200, + 1500, 1800, 2000, 2400, 3200, 3300, + 1600, 1800, 2000, 2500, 3200, 3300, + 1600, 1800, 2100, 2600, 3200, 3300, + 1700, 1900, 2100, 2700, 3200, 3300, + 1600, 1800, 2100, 2500, 3300, 3400, + 1700, 1900, 2100, 2500, 2900, 3200, + 1600, 1900, 2100, 2300, 2800, 3200, + 1200, 1700, 2200, 2600, 3000, 3300, + 1200, 1700, 2300, 2600, 3100, 3300, + 1600, 2100, 2400, 2700, 3100, 3300, + 1500, 2000, 2400, 2600, 3100, 3400, + 2100, 2200, 2700, 3000, 3200, 3300, + 2100, 2200, 2700, 2900, 3100, 3300, + 1500, 1800, 2200, 2600, 2900, 3200, + 1400, 1600, 1800, 2900, 3200, 3300, + 1600, 1700, 1900, 2500, 3100, 3200, + 1700, 1800, 2000, 2600, 3100, 3200, + 1700, 1800, 2100, 2600, 3200, 3300, + 1700, 1900, 2200, 2600, 3200, 3300, + 1700, 1900, 2200, 2600, 3100, 3200, + 1700, 1900, 2200, 2500, 3100, 3200, + 1700, 1800, 2200, 2600, 3200, 3300, + 1700, 1800, 2200, 2500, 3200, 3300, + 1600, 1800, 2100, 2300, 3100, 3200, + 2300, 2500, 2800, 2900, 3200, 3300, + 1700, 1900, 2400, 2700, 3200, 3300, + 1700, 2000, 2400, 2800, 3200, 3300, + 1500, 1900, 2300, 2700, 3200, 3300, + 1500, 2000, 2300, 2500, 3200, 3300, + 1600, 1900, 2200, 2500, 3200, 3300, + 1600, 1900, 2200, 2400, 3100, 3300, + 1600, 1800, 2200, 2300, 3000, 3300, + 1700, 1800, 2200, 2300, 3000, 3300, + 1700, 1900, 2200, 2400, 3100, 3300, + 1700, 1900, 2200, 2400, 3100, 3400, + 1700, 1800, 2200, 2400, 3100, 3400, + 1500, 1800, 2300, 2400, 2900, 3300, + 1500, 1700, 2200, 2400, 3100, 3400, + 1400, 1700, 2200, 2300, 3100, 3400, + 1600, 1900, 2500, 2700, 3200, 3400, + 1500, 1800, 2400, 2600, 3000, 3300, + 1400, 2100, 2500, 2600, 3100, 3300, + 1200, 1800, 2100, 2300, 3200, 3300, + 1800, 2100, 2600, 2900, 3100, 3200, + 2000, 2400, 2900, 3100, 3300, 3400, + 1500, 1800, 2200, 2400, 3300, 3400, + 1500, 2000, 2100, 2700, 3300, 3400, + 1600, 1800, 2000, 2400, 2900, 3100, + 1600, 1800, 2200, 2600, 3000, 3200, + 1500, 1800, 2100, 2600, 3000, 3200, + 1600, 1900, 2100, 2400, 3000, 3300, + 1600, 2000, 2200, 2500, 3300, 3400, + 1600, 2000, 2100, 2400, 3300, 3400, + 1400, 1700, 2200, 2600, 3000, 3200, + 1300, 1600, 2200, 2500, 3000, 3200, + 1300, 1500, 2100, 2500, 3000, 3300, + 1200, 1600, 1700, 2400, 3300, 3400, + 1300, 1600, 1700, 2500, 3300, 3400, + 1300, 1600, 1700, 2500, 3200, 3300, + 1400, 1700, 1800, 2500, 3200, 3300, + 1500, 1800, 2000, 2500, 3200, 3300, + 1500, 1900, 2000, 2500, 3200, 3300, + 1600, 1800, 2100, 2400, 3200, 3300, + 1600, 1900, 2100, 2400, 3200, 3300, + 1500, 1700, 2100, 2200, 3000, 3300, + 1400, 1600, 2100, 2200, 3000, 3200, + 1400, 1800, 2100, 2300, 3000, 3200, + 1600, 2100, 2300, 2700, 3100, 3300, + 1200, 2100, 2400, 2700, 3300, 3400, + 1600, 2100, 2200, 2600, 3300, 3400, + 1300, 2000, 2200, 2500, 3300, 3400, + 1300, 2300, 2500, 2800, 3300, 3400, + 1300, 2000, 2300, 2500, 3200, 3300, + 1700, 2000, 2400, 2800, 3100, 3300, + 1900, 2200, 2500, 2900, 3100, 3300, + 2000, 2100, 2600, 2800, 3200, 3300, + 2000, 2100, 2700, 2900, 3200, 3300, + 1000, 1900, 2400, 2600, 3300, 3400, + 1000, 1900, 2500, 2600, 3200, 3300, + 1000, 1900, 2500, 2600, 3300, 3400, + 1000, 1800, 2400, 2600, 3200, 3300, + 1000, 1800, 2400, 2600, 3300, 3400, + 1000, 1900, 2400, 2600, 3200, 3300, + 1400, 1700, 2200, 2600, 3100, 3300, + 1400, 1600, 2100, 2500, 3000, 3300, + 1300, 1800, 2100, 2400, 3200, 3300, + 1100, 1900, 2200, 2400, 3200, 3300, + 1100, 1900, 2300, 2500, 3300, 3400, + 1100, 1900, 2400, 2500, 3200, 3300, + 1100, 1900, 2400, 2600, 3200, 3300, + 1100, 1900, 2300, 2400, 3300, 3400, + 1200, 2000, 2300, 2500, 3200, 3300, + 1300, 1900, 2200, 2400, 3300, 3400, + 1500, 1800, 2200, 2300, 3300, 3400, + 1700, 2200, 2700, 3000, 3300, 3400, + 1900, 2200, 2800, 3000, 3200, 3300, + 1900, 2200, 2500, 3000, 3200, 3300, + 1600, 2100, 2300, 2700, 3300, 3400, + 1600, 2000, 2300, 2700, 3300, 3400, + 1600, 2100, 2500, 3000, 3300, 3400, + 1600, 2200, 2600, 3000, 3300, 3400, + 1900, 2400, 2900, 3100, 3300, 3400, + 2100, 2500, 2900, 3000, 3300, 3400, + 2000, 2400, 2900, 3000, 3200, 3300, + 1700, 2200, 2400, 2900, 3200, 3300, + 1300, 1800, 2100, 2500, 3200, 3300, + 1500, 1600, 1800, 2300, 3000, 3200, + 1500, 1600, 1900, 2000, 3000, 3300, + 1400, 1800, 2200, 2600, 3200, 3300, + 1600, 1800, 2200, 2400, 2900, 3100, + 1500, 1700, 2100, 2400, 2900, 3100, + 1400, 1700, 2100, 2400, 3000, 3200, + 1400, 1700, 2300, 2600, 3200, 3300, + 1300, 1900, 2300, 2600, 3200, 3300, + 1000, 2100, 2500, 2700, 3300, 3400, + 1400, 1900, 2000, 2500, 3200, 3300, + 1600, 1900, 2100, 2500, 3300, 3400, + 1600, 2000, 2300, 2500, 3200, 3300, + 2200, 2400, 2800, 3000, 3200, 3300, + 1900, 2300, 2400, 2700, 3100, 3200, + 1900, 2200, 2300, 2600, 3100, 3200, + 1900, 2100, 2300, 2800, 3200, 3300, + 1700, 2000, 2400, 2700, 3200, 3300, + 1900, 2200, 2500, 2700, 3100, 3300, + 1700, 1800, 2200, 2500, 3300, 3400, + 1700, 1900, 2200, 2700, 3200, 3300, + 1700, 1900, 2300, 2700, 3300, 3400, + 1800, 2000, 2400, 2800, 3300, 3400, + 1800, 2000, 2300, 2600, 3300, 3400, + 1900, 2000, 2300, 2500, 3200, 3300, + 1900, 2100, 2400, 2600, 3200, 3300, + 2000, 2200, 2400, 2700, 3200, 3300, + 2100, 2200, 2500, 2900, 3200, 3300, + 2200, 2300, 2600, 2900, 3200, 3300, + 2200, 2300, 2700, 2900, 3100, 3300, + 2100, 2400, 2600, 2800, 3200, 3300, + 1900, 2200, 2600, 2800, 3000, 3200, + 1800, 2100, 2400, 2700, 3000, 3200, + 1800, 2000, 2400, 2700, 3100, 3200, + 1600, 2000, 2200, 2500, 3100, 3200, + 1300, 1900, 2100, 2300, 3100, 3300, + 1200, 1600, 2100, 2200, 3200, 3400, + 1100, 2000, 2400, 2600, 3200, 3300, + 1400, 1700, 2100, 2300, 3100, 3300, + 1400, 1900, 2200, 2500, 3300, 3400, + 1300, 1800, 2200, 2700, 3200, 3300, + 1300, 1900, 2200, 2600, 3200, 3300, + 1400, 2000, 2200, 2700, 3200, 3300, + 1400, 2000, 2200, 2600, 3300, 3400, + 1400, 2000, 2200, 2500, 3200, 3300, + 1400, 1900, 2200, 2400, 3200, 3300, + 1400, 1800, 2200, 2300, 3000, 3300, + 1400, 1800, 2200, 2300, 3100, 3300, + 1400, 1800, 2100, 2300, 3200, 3400, + 1500, 2000, 2400, 2700, 3300, 3400, + 1700, 2100, 2500, 3000, 3300, 3400, + 1400, 1900, 2300, 2800, 3200, 3300, + 1400, 2000, 2200, 2400, 3200, 3300, + 1200, 1900, 2200, 2400, 3200, 3300, + 1200, 1900, 2200, 2500, 3200, 3300, + 1200, 2000, 2200, 2500, 3300, 3400, + 1700, 2100, 2300, 2400, 3200, 3400, + 1400, 1600, 1800, 2500, 3100, 3200, + 1500, 1800, 2100, 2500, 3000, 3200, + 1700, 1800, 2200, 2500, 3100, 3300, + 2000, 2100, 2500, 2800, 3100, 3300, + 1900, 2100, 2200, 2700, 3100, 3200, + 1500, 1800, 2100, 2300, 3200, 3400, + 1600, 1800, 2000, 2300, 3200, 3400, + 1600, 1800, 2100, 2300, 3200, 3400, + 1500, 1800, 2000, 2300, 3300, 3400, + 1500, 1700, 1900, 2400, 3300, 3400, + 1600, 1900, 2000, 2700, 3100, 3200, + 1700, 1900, 2200, 2600, 3100, 3300, + 1700, 1900, 2200, 2500, 3200, 3300, + 1700, 2000, 2400, 2600, 3100, 3300, + 1700, 2000, 2400, 2700, 3100, 3200, + 2300, 2400, 2700, 3000, 3200, 3300, + 2200, 2400, 2600, 2900, 3200, 3300, + 2200, 2400, 2500, 2800, 3200, 3300, + 2100, 2400, 2500, 2800, 3200, 3300, + 2000, 2400, 2500, 2700, 3200, 3300, + 1900, 2300, 2400, 2800, 3200, 3300, + 1900, 2300, 2600, 2700, 3100, 3300, + 2000, 2400, 2800, 2900, 3200, 3300, + 1700, 2200, 2500, 2800, 3200, 3400, + 1500, 2100, 2400, 2600, 3100, 3300, + 1500, 1900, 2300, 2500, 3200, 3400, + 1400, 1900, 2300, 2400, 3200, 3300, + 1100, 1700, 2400, 2600, 3200, 3300, + 1100, 1700, 2400, 2600, 3300, 3400, + 1100, 1800, 2400, 2500, 3300, 3400, + 1100, 1800, 2400, 2500, 3200, 3300, + 1100, 2000, 2500, 2600, 3200, 3300, + 1100, 2100, 2500, 2600, 3200, 3300, + 1100, 2100, 2500, 2700, 3200, 3300, + 1000, 2200, 2600, 2700, 3200, 3300, + 1100, 2300, 2600, 2800, 3200, 3300, + 1100, 2100, 2500, 2700, 3100, 3200, + 1500, 1700, 2300, 2500, 2900, 3200, + 1600, 1700, 2200, 2600, 2800, 3100, + 1600, 1700, 2100, 2600, 2800, 3000, + 1500, 1700, 2100, 2500, 2800, 3000, + 1500, 1600, 2200, 2500, 2800, 3100, + 1500, 1600, 2300, 2600, 2800, 3100, + 1400, 1500, 2300, 2700, 2900, 3100, + 1400, 1500, 2200, 2700, 2800, 3100, + 1400, 1600, 2000, 2700, 2900, 3100, + 1500, 1700, 2200, 2700, 3100, 3300, + 1500, 1800, 2300, 2700, 3100, 3300, + 1600, 1700, 2300, 2700, 3000, 3300, + 1700, 1800, 2200, 2700, 2900, 3200, + 1800, 1900, 2200, 2700, 2900, 3100, + 1700, 1900, 2200, 2600, 2900, 3000, + 1800, 2000, 2300, 2700, 2900, 3100, + 1800, 2000, 2300, 2800, 3000, 3200, + 1800, 2000, 2400, 2800, 3000, 3200, + 1800, 1900, 2300, 2800, 3000, 3200, + 1500, 1700, 2200, 2500, 3000, 3100, + 1700, 2100, 2400, 2800, 3100, 3200, + 1800, 2200, 2700, 2900, 3400, 3500, + 1900, 2400, 2700, 2900, 3400, 3500, + 2000, 2400, 2600, 2900, 3300, 3400, + 1900, 2400, 2500, 2800, 3200, 3300, + 1900, 2300, 2500, 2600, 3200, 3300, + 1700, 1900, 2400, 2500, 3100, 3200, + 1600, 1700, 2300, 2600, 2900, 3100, + 1600, 1700, 2400, 2600, 2900, 3100, + 1600, 2100, 2600, 2800, 3300, 3400, + 1700, 2200, 2700, 3000, 3200, 3300, + 1700, 2300, 2800, 2900, 3200, 3300, + 1700, 2300, 2700, 3000, 3200, 3300, + 1600, 2100, 2700, 2900, 3300, 3400, + 1200, 1600, 2400, 2600, 3000, 3300, + 1100, 1400, 2400, 2700, 2900, 3100, + 1200, 1800, 2200, 2500, 3100, 3300, + 1200, 1700, 2200, 2500, 3100, 3300, + 1800, 1900, 2300, 2500, 2900, 3200, + 1900, 2000, 2400, 2500, 2800, 3100, + 2000, 2200, 2400, 2500, 2800, 3100, + 2000, 2200, 2400, 2600, 2800, 3200, + 2000, 2100, 2500, 2700, 3100, 3400, + 1900, 2000, 2600, 2700, 3100, 3300, + 1900, 2000, 2600, 2700, 3200, 3300, + 1900, 2400, 2700, 3000, 3300, 3400, + 2000, 2400, 2800, 2900, 3200, 3400, + 1900, 2000, 2300, 2600, 3000, 3200, + 1900, 2100, 2400, 2700, 3000, 3200, + 1900, 2100, 2400, 2800, 3100, 3200, + 1900, 2100, 2400, 2800, 3300, 3400, + 1500, 1800, 2100, 2600, 3100, 3300, + 1600, 1800, 2100, 2200, 3000, 3300, + 1800, 2100, 2300, 2500, 3000, 3200, + 2000, 2100, 2300, 2500, 3000, 3300, + 2000, 2100, 2300, 2500, 2900, 3300, + 2000, 2100, 2300, 2400, 2900, 3300, + 1600, 1800, 2300, 2500, 2900, 3200, + 1700, 1900, 2400, 2700, 3000, 3200, + 1700, 2000, 2400, 2600, 3000, 3300, + 1600, 2000, 2300, 2700, 3000, 3200, + 1500, 1800, 2300, 2600, 3100, 3200, + 1700, 1800, 2300, 2400, 2800, 3000, + 1800, 2000, 2400, 2500, 2900, 3200, + 1800, 2000, 2400, 2600, 3000, 3200, + 1900, 2000, 2400, 2500, 3000, 3200, + 1900, 2000, 2300, 2500, 3000, 3200, + 1800, 1900, 2200, 2400, 2900, 3200, + 1800, 1900, 2200, 2300, 2900, 3200, + 1600, 1800, 2200, 2400, 3100, 3300, + 1600, 2000, 2400, 2700, 3100, 3200, + 1800, 2100, 2500, 2700, 3000, 3200, + 2000, 2200, 2500, 2700, 3000, 3200, + 2000, 2300, 2500, 2700, 3000, 3200, + 2000, 2300, 2400, 2700, 3000, 3200, + 2100, 2200, 2400, 2500, 3000, 3300, + 1900, 2000, 2300, 2600, 2800, 3300, + 1900, 2000, 2400, 2700, 3100, 3300, + 1500, 2000, 2400, 2700, 3100, 3300, + 1600, 1900, 2500, 2800, 3000, 3300, + 1900, 2000, 2400, 2700, 2900, 3200, + 2000, 2200, 2400, 2700, 2900, 3200, + 2100, 2200, 2400, 2700, 2900, 3200, + 2100, 2300, 2400, 2600, 2800, 3200, + 1300, 2000, 2300, 2500, 2700, 3100, + 1800, 1900, 2100, 2400, 2900, 3100, + 1700, 1900, 2100, 2500, 2900, 3100, + 1800, 1900, 2300, 2600, 3100, 3300, + 1600, 1700, 2300, 2600, 2800, 3200, + 1700, 1800, 2300, 2600, 2800, 3100, + 1700, 1800, 2300, 2700, 2800, 3200, + 1500, 1700, 2300, 2600, 3000, 3300, + 1400, 1700, 2200, 2500, 3000, 3300, + 1400, 1600, 2200, 2300, 3000, 3300, + 1400, 1600, 2200, 2400, 2800, 3300, + 1500, 1600, 2200, 2400, 2900, 3300, + 1500, 1600, 2200, 2400, 2800, 3300, + 1500, 1700, 2200, 2500, 3000, 3200, + 1700, 1900, 2300, 2700, 3000, 3300, + 1600, 1800, 2400, 2700, 3000, 3200, + 1600, 2000, 2500, 2800, 3000, 3300, + 2000, 2200, 2500, 2600, 3200, 3300, + 1600, 1800, 2200, 2500, 3100, 3200, + 1500, 1700, 1800, 2300, 3300, 3400, + 1400, 1600, 1800, 2000, 3200, 3400, + 1400, 1600, 1800, 1900, 3100, 3400, + 1400, 1600, 1900, 2000, 2900, 3300, + 1400, 1500, 1900, 2000, 2900, 3200, + 1900, 2200, 2500, 2800, 3100, 3200, + 1800, 2200, 2500, 2700, 3000, 3200, + 1800, 2200, 2600, 2700, 3100, 3200, + 2000, 2300, 2700, 2800, 3200, 3300, + 2100, 2200, 2600, 2800, 3000, 3300, + 2100, 2200, 2500, 2700, 3100, 3300, + 1700, 1800, 2000, 2100, 2800, 3200, + 1600, 1700, 1900, 2000, 2800, 3200, + 1400, 1500, 1800, 1900, 2800, 3200, + 1400, 1800, 2100, 2400, 3000, 3200, + 1600, 1900, 2300, 2600, 3000, 3300, + 1600, 1900, 2300, 2500, 3100, 3300, + 1600, 1900, 2400, 2700, 3000, 3200, + 1600, 1900, 2400, 2700, 3000, 3300, + 1500, 1900, 2400, 2700, 3000, 3300, + 1100, 1400, 2500, 2800, 3000, 3300, + 1100, 1300, 2300, 2800, 3000, 3200, + 1400, 1500, 2100, 2700, 2900, 3100, + 1500, 1600, 2100, 2700, 2900, 3100, + 1700, 1800, 2200, 2600, 2800, 3100, + 1800, 2000, 2300, 2600, 2800, 3000, + 1900, 2100, 2300, 2600, 2800, 3100, + 2000, 2100, 2300, 2600, 2800, 3100, + 2000, 2100, 2400, 2500, 2800, 3200, + 1900, 2100, 2300, 2500, 2800, 3200, + 1800, 1900, 2300, 2500, 2800, 3300, + 1700, 1800, 2300, 2500, 3000, 3300, + 1700, 1900, 2400, 2600, 3000, 3200, + 1500, 1900, 2200, 2600, 3100, 3300, + 1300, 1500, 1800, 1900, 2900, 3200, + 1300, 1500, 1800, 1900, 2900, 3300, + 1300, 1500, 1800, 1900, 2800, 3200, + 1400, 1500, 1700, 1900, 2800, 3200, + 1400, 1500, 1700, 1800, 2800, 3200, + 1700, 2000, 2400, 2500, 3100, 3300, + 2100, 2400, 2700, 2800, 3300, 3500, + 1800, 2300, 2700, 2900, 3200, 3400, + 1700, 2300, 2700, 2900, 3300, 3400, + 1700, 2100, 2700, 2900, 3300, 3400, + 1800, 2400, 2700, 2900, 3300, 3400, + 1900, 2500, 2800, 3000, 3300, 3400, + 2000, 2500, 2800, 3000, 3300, 3400, + 2000, 2400, 2700, 3000, 3200, 3400, + 1900, 2300, 2700, 3000, 3200, 3400, + 1800, 2000, 2500, 2700, 2900, 3200, + 1800, 2000, 2400, 2700, 2900, 3100, + 1900, 2000, 2300, 2700, 2900, 3000, + 1900, 2000, 2400, 2700, 2900, 3100, + 1800, 1900, 2400, 2700, 2900, 3100, + 1800, 1900, 2300, 2700, 2800, 3100, + 1800, 1900, 2300, 2600, 2800, 3100, + 1500, 1800, 2400, 2700, 3200, 3400, + 1600, 1800, 2500, 2700, 3100, 3400, + 1500, 1700, 2400, 2700, 3000, 3300, + 1400, 1500, 2400, 2700, 2900, 3200, + 1300, 1500, 2300, 2700, 2900, 3100, + 1400, 1600, 2100, 2600, 2800, 3000, + 1500, 1600, 2100, 2600, 2800, 3000, + 1400, 1600, 2200, 2400, 3000, 3200, + 1300, 1600, 2200, 2500, 2900, 3200, + 1300, 1700, 2200, 2600, 3000, 3300, + 1300, 1700, 2200, 2700, 3100, 3200, + 1200, 1400, 2200, 2700, 2900, 3100, + 1100, 1400, 2300, 2700, 2900, 3100, + 1100, 1300, 2400, 2800, 3000, 3200, + 1200, 1600, 2300, 2600, 3100, 3200, + 1500, 2100, 2400, 2700, 3200, 3300, + 1800, 2100, 2400, 2800, 3200, 3300, + 1600, 2100, 2400, 2800, 3200, 3300, + 1600, 2000, 2500, 2900, 3200, 3300, + 1800, 2000, 2500, 2900, 3200, 3300, + 1700, 1900, 2400, 2800, 3100, 3300, + 1600, 1800, 2400, 2700, 3100, 3300, + 1500, 1600, 2200, 2500, 2900, 3200, + 1500, 1600, 2200, 2500, 2800, 3200, + 1400, 1600, 2100, 2500, 2800, 3100, + 1200, 1400, 2200, 2500, 2700, 3100, + 1100, 1400, 2400, 2800, 2900, 3100, + 1400, 1700, 2300, 2600, 2900, 3200, + 1500, 1800, 2300, 2500, 2900, 3300, + 1500, 1700, 2000, 2100, 3000, 3300, + 1500, 1700, 2000, 2200, 3100, 3300, + 1500, 1700, 2100, 2300, 3100, 3200, + 1600, 1900, 2500, 2700, 3100, 3200, + 1800, 2300, 2800, 3100, 3300, 3400, + 1800, 2200, 2700, 2900, 3200, 3400, + 1700, 2200, 2700, 2800, 3200, 3400, + 1500, 1800, 2600, 2700, 3000, 3200, + 1500, 1700, 2300, 2700, 2800, 3100, + 1400, 1500, 2100, 2200, 2700, 3200, + 1400, 1500, 2000, 2100, 2600, 3100, + 1300, 1500, 1900, 2000, 2500, 3100, + 1400, 1500, 1800, 1900, 2700, 3200, + 1500, 1600, 2000, 2100, 2600, 3100, + 1700, 1800, 2000, 2200, 2600, 3100, + 1700, 1800, 2100, 2200, 2700, 3100, + 1600, 2000, 2400, 2500, 3000, 3200, + 2000, 2200, 2500, 2900, 3100, 3300, + 1900, 2200, 2400, 2600, 2900, 3100, + 1600, 1700, 2200, 2400, 2700, 3300, + 1700, 1800, 2300, 2400, 2800, 3200, + 1800, 1900, 2300, 2500, 2800, 3200, + 1900, 2100, 2400, 2500, 3000, 3300, + 2100, 2200, 2500, 2600, 3000, 3300, + 2000, 2100, 2500, 2700, 2900, 3200, + 1700, 1900, 2200, 2700, 2800, 3100, + 1800, 1900, 2400, 2700, 2800, 3200, + 1800, 1900, 2400, 2700, 2900, 3200, + 1700, 1800, 2200, 2700, 2800, 3100, + 1700, 1800, 2200, 2700, 3000, 3200, + 1900, 2100, 2500, 2900, 3100, 3300, + 1700, 2000, 2500, 2700, 3200, 3400, + 1900, 2200, 2700, 3000, 3300, 3400, + 2000, 2400, 2800, 3100, 3400, 3500, + 2100, 2400, 2600, 2900, 3200, 3300, + 2100, 2400, 2500, 2700, 3100, 3300, + 1800, 2100, 2500, 2700, 3200, 3300, + 1700, 2100, 2400, 2700, 3200, 3300, + 1500, 1600, 1800, 1900, 2600, 3100, + 1500, 1600, 1900, 2000, 2500, 3100, + 1600, 1700, 2000, 2100, 2500, 3100, + 1800, 2100, 2300, 2500, 2800, 3200, + 1900, 2100, 2300, 2500, 2700, 3200, + 2000, 2200, 2400, 2600, 2900, 3300, + 2000, 2200, 2400, 2600, 2900, 3200, + 2000, 2100, 2400, 2500, 2900, 3300, + 1800, 2200, 2500, 2900, 3400, 3500, + 1800, 2300, 2500, 2900, 3300, 3400, + 2000, 2300, 2500, 2800, 3000, 3300, + 1800, 2000, 2400, 2500, 2800, 3300, + 1100, 1400, 2600, 2800, 3000, 3200, + 1300, 1500, 2200, 2700, 2900, 3200, + 1400, 1600, 2200, 2700, 3000, 3200, + 1400, 1600, 2200, 2600, 3100, 3200, + 1500, 1800, 2200, 2400, 3100, 3300, + 1700, 1800, 2200, 2500, 3000, 3300, + 1700, 1800, 2200, 2600, 3000, 3200, + 1700, 1800, 2300, 2600, 3000, 3200, + 1700, 1800, 2400, 2700, 3000, 3100, + 1600, 1700, 2500, 2800, 3000, 3200, + 1400, 1500, 2200, 2700, 2900, 3100, + 1300, 1400, 2100, 2700, 2900, 3200, + 1500, 1900, 2300, 2600, 3000, 3200, + 1400, 1600, 2200, 2500, 2700, 3100, + 1600, 1700, 2200, 2500, 2800, 3200, + 1600, 1800, 2100, 2500, 2900, 3200, + 1600, 1800, 2100, 2600, 3000, 3200, + 1800, 2100, 2400, 2800, 3100, 3300, + 1800, 2100, 2400, 2700, 3000, 3300, + 2000, 2100, 2500, 2800, 3000, 3200, + 1800, 2000, 2500, 2700, 3000, 3200, + 1600, 1900, 2300, 2700, 2900, 3200, + 1600, 1900, 2100, 2500, 2800, 3100, + 1700, 1900, 2100, 2500, 2800, 3000, + 1700, 1800, 2100, 2600, 2800, 3000, + 1600, 1700, 2000, 2600, 2800, 3000, + 1400, 1700, 2200, 2700, 3000, 3200, + 1500, 1800, 2300, 2700, 3000, 3200, + 1600, 1800, 2300, 2600, 3000, 3300, + 1600, 1800, 2300, 2600, 3100, 3300, + 1600, 1900, 2300, 2600, 3100, 3300, + 1200, 1300, 2100, 2700, 3000, 3100, + 1300, 1400, 2100, 2700, 2900, 3100, + 1300, 1400, 2200, 2700, 2900, 3100, + 1300, 1400, 2100, 2600, 2800, 3100, + 1300, 1500, 2100, 2600, 2800, 3100, + 1500, 1600, 1900, 2500, 2900, 3100, + 1500, 1700, 2100, 2700, 2900, 3200, + 1600, 1900, 2400, 2700, 3200, 3300, + 1900, 2100, 2500, 2800, 3200, 3400, + 1700, 2000, 2400, 2800, 3200, 3400, + 1600, 1700, 2200, 2400, 2800, 3300, + 1500, 1600, 2200, 2400, 3000, 3300, + 1500, 1700, 2300, 2700, 3100, 3300, + 1400, 1500, 2000, 2600, 2900, 3100, + 1400, 1500, 2100, 2500, 2800, 3100, + 1400, 1700, 2200, 2600, 3000, 3300, + 1000, 1500, 2600, 2800, 3100, 3400, + 1300, 1500, 2500, 2700, 2900, 3300, + 1500, 1600, 2200, 2600, 2800, 3100, + 1700, 1800, 2200, 2400, 2700, 3200, + 1700, 1800, 2100, 2400, 2600, 3100, + 1600, 1700, 2100, 2400, 2700, 3200, + 1600, 1900, 2300, 2700, 3000, 3300, + 1500, 1600, 2000, 2400, 3000, 3300, + 1600, 1800, 2300, 2600, 3200, 3300, + 1700, 1800, 2400, 2600, 3200, 3400, + 1600, 1800, 2400, 2600, 3200, 3400, + 1700, 1800, 2300, 2600, 3000, 3300, + 1700, 1800, 2100, 2500, 2900, 3200, + 1800, 1900, 2100, 2600, 2800, 3000, + 1800, 1900, 2200, 2600, 2800, 3000, + 1800, 1900, 2200, 2600, 2900, 3100, + 1700, 1800, 2100, 2600, 2900, 3100, + 1600, 1700, 2100, 2700, 2900, 3100, + 1400, 1600, 2100, 2700, 2900, 3200, + 1200, 1600, 2200, 2400, 3000, 3300, + 1600, 1900, 2300, 2700, 3100, 3400, + 1200, 1800, 2300, 2700, 3100, 3300, + 1600, 2000, 2400, 2800, 3100, 3300, + 1700, 1900, 2100, 2600, 3100, 3300, + 1800, 1900, 2300, 2600, 3100, 3400, + 1900, 2000, 2300, 2600, 3200, 3300, + 1900, 2000, 2300, 2600, 3100, 3300, + 1900, 2100, 2300, 2700, 3100, 3300, + 1200, 1400, 2200, 2800, 3000, 3100, + 1800, 2100, 2400, 2700, 3200, 3400, + 1600, 2100, 2500, 2800, 3100, 3300, + 1600, 2000, 2500, 2800, 3200, 3300, + 1700, 2000, 2500, 2800, 3200, 3400, + 1700, 1900, 2700, 2800, 3100, 3400, + 1600, 1800, 2400, 2600, 3100, 3400, + 1600, 1800, 2300, 2500, 3100, 3400, + 1600, 1800, 2200, 2500, 3100, 3400, + 1600, 1800, 2100, 2300, 3100, 3400, + 1500, 1700, 2000, 2200, 3000, 3300, + 1500, 1600, 1900, 2000, 3000, 3200, + 1300, 1500, 1700, 1900, 2800, 3200, + 1800, 2000, 2300, 2600, 3000, 3200, + 1700, 2000, 2200, 2600, 3000, 3200, + 1600, 1900, 2400, 2600, 3000, 3300, + 1300, 1700, 2100, 2400, 2900, 3200, + 1600, 1800, 2400, 2600, 3000, 3300, + 1300, 1600, 2200, 2300, 2900, 3200, + 1300, 1400, 2100, 2200, 3000, 3200, + 1300, 1500, 1800, 2000, 3000, 3200, + 1300, 1400, 1800, 1900, 2800, 3200, + 1300, 1700, 2200, 2500, 3000, 3200, + 1200, 1800, 2300, 2600, 3200, 3300, + 1400, 1900, 2300, 2700, 3100, 3300, + 1500, 2000, 2400, 2600, 3000, 3300, + 1600, 2000, 2500, 2600, 3100, 3300, + 1600, 1900, 2500, 2700, 3100, 3300, + 1600, 2000, 2500, 2600, 3000, 3200, + 1400, 1600, 2300, 2600, 2800, 3200, + 1300, 1500, 2000, 2600, 2700, 3000, + 1300, 1500, 2200, 2600, 2800, 3100, + 1400, 1500, 2100, 2600, 2800, 3100, + 1400, 1500, 2100, 2600, 2800, 3000, + 1500, 1600, 2000, 2500, 2700, 3000, + 1500, 1700, 2000, 2500, 2700, 3000, + 1600, 1700, 2000, 2500, 2800, 3000, + 1700, 1800, 2100, 2500, 2900, 3100, + 1700, 1900, 2100, 2500, 2900, 3000, + 1800, 2000, 2200, 2600, 2800, 3000, + 1800, 2100, 2300, 2600, 2800, 3100, + 1800, 2100, 2300, 2600, 2900, 3100, + 1800, 2000, 2200, 2600, 2900, 3100, + 1800, 2000, 2300, 2600, 2900, 3100, + 1800, 2000, 2300, 2600, 2800, 3100, + 1700, 1900, 2200, 2600, 2800, 3000, + 1700, 1800, 2100, 2500, 2700, 3000, + 1500, 1700, 2200, 2400, 2800, 3300, + 1500, 1900, 2300, 2500, 3100, 3300, + 1700, 1800, 2200, 2800, 3100, 3200, + 1700, 1900, 2100, 2700, 3000, 3200, + 1900, 2100, 2400, 2600, 3000, 3200, + 2000, 2200, 2400, 2700, 3000, 3200, + 1900, 2300, 2400, 2700, 3100, 3300, + 1500, 1600, 1800, 2000, 3100, 3300, + 1200, 1400, 1900, 2500, 2900, 3100, + 1600, 1700, 2000, 2100, 2900, 3300, + 1700, 1800, 2100, 2200, 2900, 3300, + 1800, 1900, 2200, 2300, 3000, 3300, + 1900, 2000, 2200, 2300, 3100, 3300, + 2000, 2100, 2300, 2500, 3100, 3400, + 1900, 2100, 2300, 2500, 3000, 3200, + 1800, 2000, 2300, 2400, 2900, 3200, + 1900, 2200, 2600, 2800, 3100, 3300, + 2000, 2400, 2600, 2700, 3200, 3400, + 1800, 2200, 2600, 2700, 3100, 3300, + 1600, 2100, 2600, 2700, 3100, 3300, + 1600, 2100, 2500, 2800, 3200, 3400, + 1900, 2200, 2500, 2800, 3200, 3400, + 1800, 2000, 2500, 2800, 3300, 3400, + 1700, 1900, 2600, 2800, 3100, 3400, + 1600, 1700, 2400, 2700, 3100, 3300, + 1400, 1600, 2200, 2500, 2800, 3200, + 1400, 1600, 2300, 2500, 2900, 3200, + 1400, 1500, 2300, 2600, 2900, 3200, + 1300, 1500, 2400, 2600, 3000, 3300, + 1200, 1400, 2400, 2600, 2900, 3300, + 1200, 1300, 2300, 2600, 2800, 3200, + 1200, 1300, 2300, 2600, 2800, 3100, + 1200, 1400, 2300, 2600, 2800, 3200, + 1200, 1400, 2300, 2500, 2800, 3200, + 1200, 1400, 2300, 2500, 2700, 3200, + 1300, 1400, 2300, 2500, 2700, 3200, + 1300, 1400, 2300, 2400, 2900, 3200, + 1300, 1600, 2300, 2400, 2900, 3200, + 1600, 1700, 2200, 2500, 3000, 3200, + 1600, 1700, 2200, 2500, 2900, 3200, + 1600, 1800, 2300, 2400, 2900, 3200, + 1600, 1800, 2200, 2400, 2900, 3200, + 1700, 1900, 2400, 2700, 3000, 3300, + 1600, 1800, 2400, 2700, 3000, 3300, + 1600, 1800, 2300, 2600, 2900, 3200, + 1600, 1800, 2500, 2700, 2900, 3200, + 1600, 1900, 2500, 2800, 3100, 3300, + 1600, 1900, 2500, 2800, 3000, 3200, + 1400, 1700, 2400, 2700, 2900, 3200, + 1400, 1500, 2200, 2600, 2800, 3100, + 1300, 1500, 2300, 2600, 2800, 3100, + 1200, 1400, 2300, 2500, 2700, 3100, + 1300, 1600, 2200, 2600, 3000, 3300, + 1200, 1600, 2500, 2700, 3100, 3400, + 1300, 1800, 2400, 2700, 3200, 3400, + 1300, 1700, 2300, 2700, 3100, 3300, + 1300, 1700, 2200, 2500, 3100, 3300, + 1300, 1600, 2200, 2600, 2900, 3200, + 1400, 1600, 2200, 2700, 2800, 3100, + 1600, 1700, 2200, 2700, 3100, 3200, + 1800, 2000, 2400, 2800, 3100, 3300, + 1800, 2000, 2400, 2800, 3200, 3300, + 1700, 1800, 2200, 2700, 2900, 3100, + 1700, 1800, 2300, 2700, 3000, 3300, + 1800, 1900, 2600, 2800, 3300, 3400, + 1900, 2100, 2300, 2600, 2900, 3100, + 1900, 2200, 2400, 2700, 3000, 3100, + 1800, 2300, 2400, 2700, 3000, 3100, + 1800, 2300, 2400, 2600, 3100, 3200, + 2000, 2300, 2400, 2700, 3100, 3200, + 2100, 2300, 2500, 2700, 3000, 3200, + 2000, 2100, 2500, 2700, 3000, 3200, + 1900, 2000, 2300, 2700, 2900, 3100, + 1600, 1800, 2200, 2500, 2700, 3000, + 1500, 1800, 2300, 2500, 2700, 3000, + 1500, 1800, 2200, 2500, 2700, 3000, + 1600, 1800, 2300, 2500, 2800, 3000, + 1700, 1800, 2400, 2700, 3000, 3200, + 1700, 1800, 2500, 2700, 3000, 3200, + 1700, 1800, 2400, 2700, 3000, 3300, + 1600, 1700, 2400, 2600, 2900, 3200, + 1500, 1700, 2400, 2600, 2800, 3200, + 1500, 1700, 2400, 2500, 2800, 3200, + 1400, 1600, 2400, 2500, 3000, 3300, + 1500, 1700, 2300, 2400, 2900, 3200, + 1500, 1800, 2200, 2400, 2800, 3000, + 1600, 1900, 2200, 2600, 2900, 3100, + 1800, 2000, 2300, 2600, 2900, 3000, + 1600, 2000, 2300, 2500, 2900, 3100, + 1600, 1800, 2100, 2300, 2900, 3100, + 1300, 1500, 2200, 2400, 3000, 3200, + 1300, 1500, 2200, 2400, 2900, 3200, + 1300, 1500, 2200, 2500, 2900, 3200, + 1400, 1500, 2300, 2500, 2900, 3200, + 1600, 1700, 2100, 2500, 2800, 3100, + 1600, 1700, 2100, 2600, 2800, 3100, + 1700, 1800, 2100, 2500, 2800, 3100, + 1700, 1800, 2200, 2600, 2900, 3100, + 1700, 1900, 2300, 2600, 2900, 3200, + 1800, 2100, 2300, 2600, 2900, 3200, + 1800, 2100, 2300, 2700, 2900, 3200, + 1900, 2200, 2400, 2700, 2900, 3200, + 1900, 2100, 2300, 2700, 2900, 3100, + 1900, 2000, 2300, 2600, 2800, 3100, + 1900, 2200, 2500, 2800, 3100, 3300, + 1900, 2200, 2400, 2800, 3000, 3200, + 1900, 2200, 2400, 2700, 2900, 3100, + 1900, 2300, 2400, 2800, 3100, 3200, + 2000, 2300, 2500, 2800, 3100, 3300, + 1900, 2400, 2500, 2800, 3100, 3200, + 1800, 2000, 2200, 2500, 3000, 3200, + 1800, 1900, 2100, 2400, 2900, 3200, + 1500, 1600, 2200, 2400, 2700, 3200, + 1300, 1400, 2200, 2500, 2700, 3200, + 1200, 1500, 2500, 2700, 3000, 3300, + 1300, 1600, 2400, 2600, 3000, 3300, + 2000, 2200, 2600, 2700, 3000, 3300, + 2100, 2300, 2500, 2700, 3000, 3300, + 2100, 2300, 2600, 2700, 3000, 3300, + 2000, 2200, 2600, 2700, 3000, 3200, + 1800, 2300, 2500, 2600, 2900, 3200, + 1800, 2300, 2500, 2700, 2900, 3100, + 1800, 2200, 2400, 2600, 2900, 3200, + 1800, 2200, 2400, 2600, 2800, 3100, + 1800, 2200, 2300, 2600, 2900, 3100, + 1800, 2000, 2200, 2800, 3000, 3200, + 1800, 1900, 2200, 2800, 3000, 3200, + 1700, 1900, 2300, 2800, 3000, 3300, + 1600, 1800, 2300, 2800, 3000, 3300, + 1400, 1700, 2200, 2500, 2800, 2900, + 1400, 1700, 2100, 2500, 2900, 3200, + 1700, 2000, 2200, 2800, 3200, 3300, + 1800, 1900, 2200, 2700, 2900, 3200, + 1800, 2000, 2200, 2700, 2900, 3100, + 1800, 2000, 2200, 2700, 2800, 3000, + 1800, 2000, 2200, 2700, 2800, 3100, + 1600, 1900, 2100, 2600, 2900, 3200, + 2000, 2100, 2600, 2900, 3000, 3200, + 2000, 2200, 2700, 2900, 3100, 3300, + 2000, 2200, 2400, 2800, 3000, 3200, + 2000, 2200, 2300, 2700, 3000, 3200, + 1700, 2200, 2400, 2600, 2900, 3100, + 1800, 2200, 2400, 2700, 3000, 3200, + 1900, 2300, 2500, 2700, 3000, 3200, + 1900, 2300, 2500, 2700, 2900, 3100, + 1900, 2300, 2500, 2800, 3000, 3200, + 1900, 2300, 2500, 2700, 2900, 3200, + 1800, 2200, 2400, 2700, 2900, 3100, + 1800, 2000, 2300, 2700, 3000, 3200, + 1600, 1700, 2100, 2800, 3100, 3200, + 1400, 1800, 2200, 2500, 3000, 3100, + 1400, 1800, 2300, 2500, 3000, 3100, + 1400, 1800, 2300, 2500, 2900, 3100, + 1600, 1800, 2500, 2800, 3100, 3200, + 1700, 2000, 2400, 2700, 3200, 3400, + 1700, 2000, 2500, 2800, 3100, 3400, + 1500, 1700, 2300, 2600, 2900, 3200, + 1500, 1700, 2200, 2600, 2800, 3200, + 1500, 1700, 2200, 2600, 2900, 3300, + 1400, 1700, 2200, 2600, 2900, 3300, + 1200, 1500, 2200, 2300, 3100, 3400, + 1200, 1600, 2300, 2400, 3200, 3300, + 1200, 1700, 2300, 2400, 3100, 3300, + 1100, 1700, 2400, 2500, 3100, 3300, + 1100, 1800, 2500, 2600, 3100, 3300, + 1100, 1800, 2500, 2600, 3200, 3300, + 1000, 1800, 2500, 2600, 3200, 3300, + 1000, 1700, 2400, 2500, 3200, 3300, + 1100, 1600, 2400, 2500, 3200, 3300, + 1100, 1600, 2300, 2400, 3200, 3300, + 1300, 1600, 2300, 2500, 3100, 3300, + 1400, 1700, 2300, 2500, 3100, 3300, + 2000, 2100, 2500, 2600, 3200, 3400, + 1700, 2100, 2600, 2800, 3100, 3200, + 1800, 2200, 2700, 2900, 3100, 3300, + 2100, 2400, 2700, 2900, 3200, 3300, + 2100, 2500, 2700, 2900, 3300, 3400, + 2100, 2400, 2600, 2800, 3200, 3400, + 1700, 1900, 2400, 2600, 2900, 3000, + 1600, 1900, 2400, 2500, 2800, 2900, + 1300, 2000, 2400, 2500, 2900, 3200, + 1500, 2000, 2400, 2500, 2900, 3100, + 1600, 2000, 2400, 2600, 3000, 3100, + 1700, 1900, 2500, 2600, 3100, 3200, + 1600, 1800, 2600, 2700, 3300, 3400, + 1500, 1600, 2600, 2700, 3200, 3400, + 1500, 1700, 2600, 2700, 3200, 3400, + 1500, 2100, 2600, 2800, 3300, 3400, + 1700, 2200, 2700, 2900, 3300, 3400, + 1700, 2300, 2700, 2800, 3300, 3400, + 1800, 2300, 2700, 2800, 3300, 3400, + 1400, 1700, 2500, 2600, 3000, 3300, + 1400, 1800, 2500, 2600, 3000, 3300, + 1800, 2200, 2700, 2900, 3300, 3400, + 1800, 2300, 2600, 2900, 3300, 3400, + 1400, 1900, 2500, 2600, 3200, 3400, + 1400, 2000, 2400, 2500, 3200, 3300, + 1400, 2100, 2400, 2600, 3200, 3300, + 1200, 2000, 2400, 2700, 3200, 3300, + 1300, 1900, 2300, 2600, 3100, 3200, + 1300, 1800, 2300, 2500, 3100, 3200, + 1200, 1700, 2300, 2500, 3000, 3100, + 1200, 1800, 2400, 2500, 3000, 3100, + 1100, 2100, 2300, 2600, 3000, 3100, + 1400, 1800, 2200, 2700, 3100, 3200, + 1600, 2000, 2400, 2600, 3200, 3300, + 1600, 1900, 2400, 2600, 3300, 3400, + 1600, 2000, 2500, 2600, 3300, 3400, + 1600, 2000, 2300, 2500, 3300, 3400, + 1500, 2400, 2700, 2800, 3100, 3300, + 1300, 2000, 2500, 2600, 3200, 3300, + 1400, 2000, 2500, 2600, 3200, 3300, + 1600, 1900, 2400, 2600, 3200, 3300, + 1600, 2000, 2300, 2600, 3200, 3300, + 1600, 2100, 2300, 2500, 3000, 3100, + 1800, 2100, 2400, 2700, 2900, 3200, + 1500, 1700, 2000, 2600, 3200, 3300, + 1400, 1700, 2000, 2400, 3200, 3300, + 1400, 1900, 2200, 2500, 3100, 3300, + 1500, 1900, 2200, 2500, 3100, 3300, + 1200, 1900, 2500, 2600, 3100, 3300, + 1000, 1700, 2600, 2800, 3300, 3400, + 1200, 1500, 2400, 2700, 2900, 3200, + 1700, 2100, 2400, 2800, 3200, 3400, + 1700, 2000, 2600, 2800, 3100, 3400, + 1700, 2000, 2600, 2700, 3000, 3300, + 1500, 1700, 2500, 2700, 3000, 3300, + 1600, 2000, 2600, 2800, 3100, 3300, + 1500, 2000, 2500, 2800, 3200, 3400, + 1400, 1800, 2500, 2800, 3300, 3400, + 1700, 2200, 2600, 2900, 3200, 3400, + 1700, 2200, 2600, 2800, 3200, 3400, + 1800, 2000, 2500, 2600, 3300, 3400, + 1500, 1800, 2200, 2500, 3100, 3200, + 1600, 2100, 2400, 2700, 3300, 3400, + 1400, 1800, 2500, 2700, 3000, 3300, + 1300, 1600, 2500, 2600, 3200, 3400, + 1400, 1700, 2500, 2600, 3300, 3400, + 1500, 1700, 2400, 2500, 3200, 3400, + 1900, 2000, 2300, 2500, 3200, 3400, + 1600, 1900, 2100, 2500, 3000, 3200, + 1600, 2100, 2500, 2800, 3200, 3300, + 1400, 2000, 2400, 2700, 3200, 3300, + 900, 1800, 2400, 2600, 3200, 3300, + 1100, 1600, 2700, 2800, 3200, 3400, + 1200, 1600, 2600, 2800, 3200, 3400, + 1300, 1700, 2500, 2700, 3100, 3300, + 1400, 1700, 2400, 2700, 3200, 3300, + 1400, 1800, 2300, 2500, 3100, 3200, + 1400, 2100, 2400, 2600, 2900, 3100, + 1300, 2000, 2400, 2600, 3100, 3200, + 1200, 1800, 2300, 2500, 3200, 3300, + 1300, 1900, 2300, 2500, 3100, 3300, + 1600, 2000, 2400, 2600, 3200, 3400, + 1800, 2000, 2300, 2500, 3100, 3400, + 1700, 1900, 2300, 2400, 3100, 3300, + 1600, 1800, 2300, 2400, 2900, 3300, + 1600, 1800, 2300, 2400, 3000, 3300, + 1600, 1700, 2300, 2400, 3000, 3300, + 1600, 1700, 2300, 2400, 2800, 3200, + 1600, 1700, 2300, 2400, 2900, 3300, + 1500, 1700, 2300, 2500, 3000, 3300, + 1400, 1700, 2500, 2600, 3200, 3300, + 1300, 1600, 2500, 2700, 3100, 3300, + 1300, 1500, 2500, 2700, 3100, 3300, + 1300, 1600, 2400, 2700, 3000, 3400, + 1800, 2300, 2600, 2800, 3100, 3300, + 1800, 2200, 2500, 2800, 3100, 3300, + 1700, 2100, 2500, 2700, 3000, 3300, + 1600, 1900, 2500, 2700, 2900, 3200, + 1700, 2000, 2500, 2700, 3000, 3200, + 1700, 2300, 2600, 2700, 3200, 3400, + 1400, 1700, 1900, 2200, 3200, 3300, + 1200, 1900, 2100, 2600, 3100, 3200, + 1200, 1900, 2200, 2700, 3100, 3200, + 1200, 1900, 2300, 2700, 3200, 3300, + 1100, 2000, 2300, 2600, 3200, 3300, + 1200, 1900, 2400, 2700, 3200, 3300, + 1200, 1800, 2300, 2600, 3200, 3400, + 1200, 1600, 2400, 2700, 3200, 3400, + 1200, 1500, 2400, 2600, 3000, 3200, + 1300, 1500, 2100, 2500, 2700, 3000, + 1200, 1800, 2400, 2600, 3100, 3200, + 1200, 2000, 2400, 2500, 3200, 3300, + 1700, 2400, 2700, 3100, 3300, 3400, + 2000, 2500, 2700, 3100, 3400, 3500, + 1900, 2400, 2700, 3100, 3400, 3500, + 1900, 2200, 2700, 3100, 3300, 3400, + 1800, 2200, 2700, 3100, 3300, 3400, + 1500, 1700, 2100, 2500, 3200, 3300, + 1400, 1800, 2100, 2600, 3200, 3300, + 1200, 1700, 2000, 2300, 3300, 3400, + 1300, 1500, 1600, 2300, 3100, 3200, + 1500, 1900, 2400, 2600, 3000, 3300, + 1500, 2000, 2400, 2500, 2800, 3200, + 1400, 2000, 2400, 2500, 2900, 3200, + 1300, 1600, 1700, 2300, 3300, 3400, + 1300, 1600, 1700, 2100, 3200, 3400, + 2000, 2200, 2500, 2900, 3300, 3400, + 2100, 2300, 2500, 2700, 3300, 3400, + 1900, 2200, 2400, 2700, 3300, 3400, + 1500, 1900, 2200, 2400, 3000, 3300, + 1500, 1900, 2400, 2700, 3300, 3400, + 1500, 1700, 2500, 2700, 3200, 3400, + 1500, 1700, 2500, 2600, 3100, 3400, + 1600, 2000, 2400, 2700, 3200, 3300, + 1600, 1800, 2200, 2600, 3000, 3100, + 1500, 1800, 2200, 2600, 3000, 3100, + 1500, 1900, 2400, 2500, 3000, 3200, + 1200, 1500, 2400, 2600, 3200, 3300, + 1500, 2000, 2500, 2700, 3100, 3300, + 1700, 2100, 2500, 2900, 3200, 3300, + 1400, 1800, 2400, 2500, 3100, 3300, + 1400, 2000, 2300, 2500, 3200, 3400, + 1200, 1900, 2200, 2400, 3300, 3400, + 1200, 1900, 2300, 2500, 3300, 3400, + 1200, 1900, 2300, 2400, 3300, 3400, + 1200, 1700, 2300, 2400, 3300, 3400, + 1200, 1600, 2200, 2300, 3300, 3400, + 1200, 1600, 2200, 2400, 3300, 3400, + 1300, 1600, 2100, 2400, 3200, 3300, + 1500, 1700, 2200, 2600, 2900, 3200, + 2100, 2200, 2500, 2800, 3200, 3300, + 1600, 1800, 2300, 2500, 3100, 3300, + 1500, 1800, 2300, 2500, 3100, 3300, + 1400, 1800, 2300, 2600, 3100, 3300, + 1400, 1800, 2400, 2600, 3100, 3300, + 1300, 1800, 2400, 2700, 3200, 3300, + 1100, 1800, 2400, 2700, 3200, 3300, + 1400, 2000, 2500, 2600, 2900, 3200, + 1500, 2100, 2500, 2600, 2900, 3200, + 1500, 1900, 2400, 2600, 3100, 3300, + 1300, 1900, 2400, 2800, 3100, 3300, + 1300, 2000, 2500, 2700, 3200, 3300, + 1300, 1800, 2600, 2700, 3100, 3400, + 1300, 1700, 2600, 2700, 3100, 3300, + 1300, 1700, 2600, 2700, 3100, 3400, + 1400, 1900, 2400, 2600, 2900, 3100, + 1500, 1800, 2300, 2600, 2900, 3100, + 1600, 1900, 2400, 2600, 3000, 3200, + 1700, 2000, 2600, 2900, 3100, 3300, + 1800, 2300, 2500, 2800, 3200, 3400, + 1900, 2300, 2600, 2900, 3300, 3400, + 1600, 1900, 2500, 2600, 3000, 3100, + 1600, 1900, 2500, 2600, 3000, 3200, + 1500, 1800, 2200, 2500, 3200, 3300, + 1500, 1900, 2200, 2500, 3300, 3400, + 1500, 1800, 2200, 2400, 3200, 3400, + 1500, 1800, 2100, 2400, 3200, 3400, + 1600, 1800, 2100, 2200, 3200, 3400, + 1700, 1800, 2100, 2400, 3100, 3300, + 1600, 1700, 2300, 2400, 2700, 3100, + 1600, 1900, 2400, 2500, 3000, 3300, + 1600, 2100, 2500, 2600, 3200, 3400, + 1200, 2000, 2400, 2500, 3400, 3500, + 1200, 1600, 2300, 2400, 3200, 3400, + 1400, 1900, 2400, 2500, 3000, 3200, + 1300, 1800, 2100, 2500, 3100, 3300, + 1300, 1700, 2300, 2500, 3100, 3300, + 1300, 1700, 2200, 2400, 3200, 3300, + 1300, 1800, 2200, 2400, 3200, 3300, + 1500, 1800, 2300, 2500, 3200, 3300, + 1600, 1800, 2300, 2500, 3300, 3400, + 1700, 1900, 2400, 2600, 3300, 3400, + 1700, 1900, 2500, 2700, 3000, 3100, + 1700, 1800, 2500, 2600, 3100, 3200, + 1700, 1800, 2500, 2600, 3000, 3200, + 1600, 1800, 2400, 2600, 3000, 3200, + 1600, 1800, 2400, 2600, 3100, 3300, + 1500, 1700, 2400, 2600, 3100, 3300, + 1300, 1700, 2400, 2600, 3100, 3300, + 1300, 1700, 2400, 2600, 3200, 3300, + 1400, 1800, 2400, 2600, 3200, 3300, + 1400, 1800, 2300, 2600, 3200, 3300, + 1500, 1800, 2300, 2600, 3300, 3400, + 1500, 1800, 2300, 2500, 3300, 3400, + 1500, 1700, 2200, 2400, 3300, 3400, + 1800, 2200, 2400, 2600, 3200, 3300, + 1700, 1900, 2300, 2700, 3200, 3300, + 1600, 1800, 2000, 2600, 3200, 3300, + 1900, 2000, 2200, 2500, 3300, 3400, + 1900, 2100, 2300, 2600, 3300, 3400, + 1800, 1900, 2200, 2600, 3100, 3300, + 1100, 1900, 2600, 2700, 3200, 3300, + 1000, 1700, 2700, 2800, 3200, 3300, + 1000, 1800, 2600, 2700, 3000, 3100, + 1200, 2000, 2600, 2800, 3200, 3300, + 1200, 2000, 2500, 2700, 3200, 3300, + 1200, 2000, 2500, 2600, 3200, 3300, + 1200, 2000, 2400, 2500, 3300, 3400, + 1300, 2000, 2300, 2500, 3300, 3400, + 1300, 1900, 2300, 2500, 3300, 3400, + 1400, 1900, 2300, 2600, 3300, 3400, + 2200, 2400, 2500, 2900, 3200, 3300, + 2100, 2200, 2400, 2800, 3200, 3300, + 2000, 2200, 2400, 2800, 3200, 3300, + 1900, 2100, 2400, 2800, 3200, 3300, + 1600, 1800, 2000, 2400, 2800, 3000, + 1600, 1900, 2300, 2400, 2900, 3300, + 1800, 2100, 2400, 2500, 3100, 3200, + 1800, 2300, 2500, 2700, 3200, 3300, + 1800, 2100, 2500, 2700, 3300, 3400, + 1500, 1900, 2100, 2700, 3000, 3100, + 1500, 1700, 1800, 2600, 3300, 3400, + 1500, 1700, 1800, 2500, 3300, 3400, + 1300, 1500, 1600, 2500, 3200, 3300, + 1300, 1500, 1700, 2400, 3000, 3100, + 1600, 2000, 2500, 2700, 3300, 3400, + 2000, 2100, 2400, 2700, 3300, 3400, + 1800, 2000, 2200, 2600, 3100, 3300, + 1800, 1900, 2100, 2600, 3200, 3300, + 1700, 2000, 2100, 2700, 3200, 3300, + 1700, 2100, 2200, 2700, 3200, 3300, + 1700, 2200, 2400, 2700, 3200, 3300, + 1700, 2200, 2400, 2600, 3200, 3300, + 1700, 2100, 2500, 2600, 3200, 3300, + 1800, 2400, 2600, 3000, 3300, 3400, + 1800, 2400, 2800, 3100, 3300, 3400, + 1900, 2400, 2800, 3100, 3300, 3500, + 1900, 2300, 2800, 3000, 3300, 3400, + 1600, 1800, 2400, 2600, 3000, 3100, + 1500, 1700, 1900, 2500, 3300, 3400, + 1200, 1700, 2200, 2300, 3100, 3300, + 1100, 1500, 2300, 2400, 3000, 3300, + 1200, 1600, 2300, 2400, 3100, 3300, + 1200, 1600, 2300, 2400, 3100, 3400, + 1300, 1600, 2200, 2400, 3200, 3300, + 1500, 1600, 2100, 2400, 3000, 3300, + 1600, 1700, 2100, 2400, 3100, 3300, + 1500, 1600, 2100, 2500, 3100, 3300, + 1600, 1900, 2200, 2600, 3100, 3300, + 1500, 1800, 2200, 2500, 3000, 3200, + 1400, 1800, 2200, 2500, 2900, 3200, + 1300, 1600, 2200, 2600, 3000, 3200, + 1700, 2000, 2400, 2800, 3000, 3100, + 1700, 2100, 2400, 2700, 3000, 3100, + 1800, 2200, 2500, 2800, 3000, 3200, + 1700, 2100, 2500, 2800, 3100, 3200, + 1800, 2200, 2500, 2700, 3200, 3400, + 1600, 1900, 2300, 2500, 3200, 3300, + 1600, 1800, 2100, 2500, 3200, 3300, + 1600, 1800, 2000, 2400, 3200, 3300, + 1500, 1700, 1900, 2300, 3300, 3400, + 1400, 1600, 1800, 2200, 3300, 3400, + 1500, 1600, 1900, 2600, 3000, 3200, + 1500, 2000, 2300, 2600, 3200, 3300, + 1200, 1900, 2100, 2500, 3200, 3300, + 1900, 2100, 2300, 2600, 3200, 3300, + 1800, 2100, 2300, 2600, 3300, 3400, + 1700, 2100, 2300, 2600, 3200, 3300, + 1600, 2100, 2300, 2700, 3200, 3300, + 1500, 1900, 2400, 2700, 3200, 3300, + 1400, 1900, 2400, 2700, 3200, 3300, + 1400, 1900, 2400, 2600, 3200, 3300, + 1500, 2100, 2500, 2600, 3200, 3300, + 1600, 1800, 2100, 2500, 2900, 3100, + 1800, 2000, 2500, 2800, 3000, 3200, + 1400, 1600, 2100, 2600, 3000, 3300, + 1700, 2000, 2400, 2700, 3300, 3400, + 1700, 2100, 2500, 2700, 3300, 3400, + 1700, 2100, 2600, 2700, 3000, 3300, + 1800, 2100, 2500, 2700, 3100, 3200, + 2200, 2300, 2500, 2800, 3200, 3300, + 2100, 2300, 2500, 2800, 3200, 3300, + 2000, 2200, 2500, 2800, 3200, 3300, + 1900, 2000, 2400, 2700, 3100, 3200, + 1600, 2000, 2400, 2700, 3100, 3400, + 1300, 1800, 2100, 2500, 3100, 3200, + 1300, 1800, 2200, 2800, 3100, 3200, + 1300, 2000, 2200, 2600, 3200, 3300, + 1900, 2100, 2400, 2500, 3000, 3200, + 1800, 2100, 2400, 2600, 3200, 3300, + 1500, 1900, 2400, 2600, 3300, 3400, + 1500, 1800, 2400, 2600, 3200, 3400, + 1500, 1700, 2400, 2600, 3200, 3400, + 1400, 1700, 2400, 2600, 3100, 3300, + 1400, 1900, 2500, 2600, 2900, 3200, + 1400, 1900, 2400, 2700, 3000, 3200, + 1400, 1900, 2400, 2600, 3000, 3100, + 1400, 1900, 2300, 2500, 2700, 3000, + 1300, 1800, 2200, 2500, 3300, 3400, + 1300, 1800, 2200, 2400, 3300, 3400, + 1300, 1700, 2100, 2400, 3200, 3400, + 1400, 1900, 2300, 2600, 3100, 3300, + 1900, 2200, 2400, 2800, 3100, 3200, + 1600, 2200, 2400, 2700, 3300, 3400, + 1600, 2100, 2400, 2700, 3200, 3300, + 1400, 1700, 2000, 2500, 3000, 3200, + 1400, 1800, 2300, 2500, 3000, 3200, + 1700, 1900, 2100, 2400, 3200, 3300, + 1800, 1900, 2200, 2500, 3200, 3300, + 1900, 2000, 2500, 2700, 3200, 3300, + 1900, 2000, 2500, 2600, 3100, 3300, + 1400, 1900, 2300, 2500, 2800, 3200, + 1400, 1900, 2300, 2500, 2900, 3300, + 1400, 1600, 2300, 2500, 3000, 3200, + 1400, 1600, 2200, 2500, 3100, 3200, + 2000, 2200, 2500, 2700, 3000, 3300, + 1600, 2100, 2600, 2900, 3200, 3300, + 1500, 1700, 2100, 2500, 3100, 3200, + 1200, 2100, 2600, 2700, 3200, 3300, + 1100, 2100, 2600, 2800, 3200, 3300, + 1000, 2000, 2800, 2900, 3100, 3200, + 1600, 1900, 2100, 2500, 3000, 3100, + 1700, 1900, 2200, 2500, 3000, 3100, + 1700, 1900, 2300, 2400, 3100, 3200, + 1400, 2000, 2300, 2400, 3200, 3300, + 1300, 2000, 2200, 2400, 3100, 3200, + 1200, 2000, 2300, 2500, 3100, 3200, + 1200, 1800, 2300, 2600, 3100, 3200, + 1300, 1600, 2300, 2700, 3100, 3200, + 1300, 1700, 2300, 2700, 3100, 3200, + 1100, 2000, 2300, 2600, 3100, 3200, + 1300, 2000, 2400, 2500, 3200, 3300, + 1300, 1900, 2400, 2500, 3200, 3300, + 1500, 1800, 2100, 2600, 3300, 3400, + 1500, 1900, 2100, 2500, 2800, 3000, + 1500, 2000, 2200, 2500, 3000, 3100, + 1500, 2000, 2200, 2600, 3100, 3200, + 1600, 1900, 2300, 2500, 3100, 3200, + 1600, 1900, 2200, 2400, 3100, 3200, + 1600, 1900, 2400, 2600, 2900, 3100, + 1900, 2300, 2600, 2800, 3100, 3200, + 2000, 2400, 2700, 2800, 3100, 3200, + 1300, 1800, 2000, 2400, 3100, 3200, + 1100, 1700, 2100, 2400, 3100, 3200, + 1300, 1600, 2100, 2500, 3000, 3100, + 1200, 1700, 2200, 2500, 3000, 3200, + 1400, 1800, 2100, 2300, 3100, 3200, + 1700, 1800, 2100, 2200, 3200, 3300, + 1700, 1900, 2100, 2300, 3200, 3300, + 1800, 1900, 2400, 2800, 3100, 3200, + 2000, 2300, 2800, 3000, 3100, 3300, + 2100, 2300, 2700, 3000, 3200, 3300, + 2100, 2300, 2600, 2900, 3200, 3300, + 2200, 2400, 2700, 2800, 3200, 3300, + 1700, 2000, 2300, 2500, 3000, 3100, + 1600, 2000, 2300, 2400, 2800, 3200, + 1700, 2100, 2300, 2400, 2900, 3200, + 1400, 1800, 2300, 2600, 3000, 3300, + 1500, 2200, 2400, 2700, 3100, 3200, + 1500, 2200, 2500, 2700, 3200, 3300, + 1400, 1600, 2400, 2500, 3100, 3400, + 1600, 2200, 2500, 2800, 3300, 3400, + 1600, 2000, 2500, 2800, 3300, 3400, + 1400, 1700, 2400, 2500, 3200, 3400, + 1400, 1600, 2400, 2600, 3200, 3300, + 1400, 1700, 2300, 2500, 3200, 3300, + 1500, 2000, 2300, 2400, 2800, 3200, + 1500, 2000, 2300, 2400, 2700, 3200, + 1400, 1900, 2300, 2500, 3000, 3300, + 1200, 1400, 2300, 2600, 2900, 3100, + 1500, 2000, 2300, 2500, 3000, 3200, + 1800, 2000, 2500, 2600, 3100, 3200, + 1500, 1800, 2400, 2600, 3000, 3200, + 1200, 1500, 2200, 2400, 3000, 3100, + 1500, 1900, 2400, 2600, 3200, 3300, + 1700, 2000, 2600, 2800, 3200, 3300, + 1500, 1900, 2100, 2500, 3200, 3300, + 1700, 1800, 2000, 2300, 3000, 3100, + 1600, 1900, 2300, 2500, 2800, 3100, + 1600, 1800, 2300, 2500, 3000, 3200, + 1700, 1800, 2300, 2500, 3200, 3300, + 1700, 1800, 2300, 2500, 3100, 3300, + 1600, 1700, 2200, 2400, 3000, 3300, + 1500, 1700, 2300, 2500, 3200, 3400, + 1500, 1700, 2300, 2400, 2800, 3300, + 1600, 1700, 2200, 2400, 2600, 3200, + 1700, 1800, 2200, 2400, 2900, 3300, + 1900, 2100, 2400, 2500, 3100, 3300, + 1900, 2000, 2400, 2500, 3100, 3300, + 1900, 2300, 2500, 2900, 3200, 3300, + 2200, 2400, 2700, 3100, 3300, 3400, + 2200, 2400, 2800, 3100, 3300, 3400, + 1500, 1900, 2300, 2400, 3200, 3300, + 1500, 1800, 2200, 2300, 3100, 3300, + 1700, 2000, 2600, 2900, 3200, 3400, + 1500, 2000, 2300, 2500, 3100, 3200, + 1300, 1600, 2000, 2500, 3000, 3200, + 1800, 2000, 2200, 2500, 3000, 3100, + 1200, 1800, 2200, 2400, 3100, 3200, + 1300, 1500, 2100, 2200, 3100, 3200, + 1400, 1900, 2200, 2300, 3200, 3300, + 1900, 2300, 2600, 3000, 3200, 3400, + 1900, 2300, 2600, 2800, 3200, 3300, + 1900, 2200, 2600, 2900, 3100, 3300, + 1200, 1500, 2500, 2600, 3100, 3200, + 1400, 1900, 2300, 2400, 2600, 3100, + 1500, 1600, 2100, 2400, 2900, 3200, + 1400, 1600, 2200, 2600, 2900, 3200, + 1700, 1800, 2100, 2300, 3000, 3100, + 1700, 1900, 2100, 2300, 3100, 3200, + 1800, 1900, 2200, 2300, 3200, 3300, + 1700, 1900, 2200, 2300, 3200, 3300, + 1700, 1800, 2200, 2300, 3200, 3300, + 1600, 1700, 2200, 2300, 3100, 3300, + 1700, 2100, 2400, 2900, 3300, 3400, + 1600, 2100, 2500, 2700, 3300, 3400, + 1500, 2000, 2400, 2600, 3100, 3200, + 1600, 2000, 2300, 2500, 2800, 3000, + 1500, 1700, 1800, 2200, 2800, 2900, + 1500, 1700, 1900, 2100, 2700, 2800, + 1600, 2000, 2300, 2500, 3000, 3300, + 1900, 2300, 2500, 2800, 3100, 3200, + 2200, 2400, 2600, 3000, 3200, 3300, + 2300, 2500, 2800, 3100, 3300, 3400, + 1900, 2400, 2700, 3000, 3400, 3500, + 1900, 2400, 2600, 3000, 3400, 3500, + 1800, 2300, 2700, 3100, 3400, 3500, + 1800, 2300, 2700, 3000, 3300, 3400, + 1400, 1700, 2200, 2500, 3200, 3400, + 1600, 1900, 2500, 2600, 3100, 3300, + 2000, 2300, 2600, 2800, 3300, 3400, + 1900, 2200, 2500, 2800, 3300, 3400, + 1700, 2100, 2400, 2700, 3300, 3400, + 1600, 1700, 2300, 2500, 3200, 3400, + 1600, 1700, 2300, 2400, 3300, 3400, + 1600, 1800, 2400, 2600, 3300, 3400, + 1500, 1700, 2300, 2700, 3300, 3400, + 1400, 1800, 2300, 2400, 3100, 3400, + 1500, 2000, 2300, 2400, 2900, 3200, + 1500, 1900, 2300, 2400, 2800, 3200, + 1300, 1800, 2200, 2500, 3000, 3100, + 1200, 1700, 2200, 2300, 3200, 3300, + 1200, 1700, 2200, 2400, 3200, 3300, + 1100, 1700, 2200, 2400, 3200, 3300, + 1100, 1700, 2300, 2500, 3100, 3200, + 1100, 1700, 2300, 2600, 3100, 3200, + 1300, 1800, 2300, 2600, 3000, 3200, + 1300, 1900, 2300, 2600, 3000, 3300, + 1300, 1800, 2300, 2600, 3100, 3300, + 1400, 2000, 2500, 2800, 3200, 3300, + 1200, 1600, 2400, 2700, 3200, 3300, + 1500, 1800, 2300, 2500, 3100, 3200, + 1500, 1600, 2200, 2600, 3000, 3200, + 1500, 1600, 2200, 2500, 3000, 3300, + 1200, 1600, 2400, 2600, 3200, 3400, + 1000, 2300, 2800, 2900, 3100, 3200, + 900, 1700, 2700, 2800, 3200, 3300, + 1500, 1700, 2400, 2500, 3100, 3200, + 1500, 1900, 2400, 2500, 3100, 3200, + 1400, 1900, 2400, 2500, 2900, 3100, + 1600, 2100, 2400, 2600, 3000, 3100, + 1700, 1900, 2300, 2500, 3000, 3100, + 2100, 2400, 2600, 2900, 3100, 3300, + 2200, 2400, 2700, 2900, 3200, 3300, + 2100, 2200, 2700, 2800, 3100, 3300, + 2000, 2100, 2300, 2600, 3100, 3300, + 1800, 2000, 2100, 2600, 3100, 3200, + 1800, 1900, 2200, 2500, 2900, 3000, + 1800, 1900, 2300, 2400, 3000, 3100, + 1800, 1900, 2200, 2400, 3000, 3100, + 1800, 2000, 2200, 2500, 3100, 3200, + 1800, 2000, 2300, 2800, 3100, 3200, + 1800, 2000, 2400, 2800, 3100, 3200, + 1800, 2000, 2400, 2800, 3000, 3100, + 1700, 1900, 2300, 2700, 2900, 3100, + 1700, 1900, 2200, 2700, 2900, 3100, + 1600, 1800, 2000, 2600, 2800, 3000, + 1500, 1700, 2000, 2500, 2900, 3100, + 1700, 1900, 2200, 2500, 3000, 3200, + 1700, 1800, 2300, 2400, 3100, 3300, + 1800, 2000, 2300, 2500, 3000, 3100, + 1800, 1900, 2200, 2400, 3100, 3200, + 1400, 1600, 2100, 2600, 3000, 3200, + 1400, 1600, 2000, 2500, 3000, 3200, + 1400, 1800, 2000, 2400, 3200, 3300, + 1200, 1900, 2100, 2500, 3100, 3200, + 1100, 1700, 2100, 2300, 3000, 3100, + 1300, 1500, 1700, 2000, 2900, 3100, + 1600, 1900, 2200, 2400, 2900, 3100, + 1700, 2000, 2200, 2500, 3200, 3300, + 1700, 1800, 2100, 2500, 3100, 3300, + 2000, 2300, 2500, 2700, 3100, 3400, + 1900, 2200, 2500, 2600, 3000, 3300, + 1900, 2000, 2300, 2400, 3100, 3300, + 1800, 1900, 2300, 2400, 3000, 3200, + 1800, 1900, 2300, 2500, 3100, 3200, + 1700, 1800, 2300, 2400, 3000, 3100, + 1500, 1600, 2500, 2600, 2900, 3300, + 1500, 1700, 2500, 2600, 3100, 3200, + 1900, 2300, 2500, 2800, 3200, 3300, + 1400, 1600, 2000, 2600, 3000, 3200, + 1700, 1900, 2100, 2600, 3000, 3100, + 1800, 1900, 2400, 2900, 3100, 3300, + 1800, 1900, 2500, 2900, 3100, 3300, + 1600, 1800, 2100, 2700, 3000, 3200, + 1700, 2000, 2300, 2700, 2900, 3200, + 1600, 2000, 2400, 2600, 2900, 3200, + 1500, 1700, 2300, 2500, 3300, 3400, + 1400, 1600, 2200, 2400, 3100, 3300, + 1500, 1600, 2200, 2500, 3200, 3400, + 1600, 1700, 2300, 2400, 3200, 3300, + 1600, 1700, 2300, 2500, 3200, 3300, + 1600, 1700, 2200, 2500, 3200, 3300, + 1700, 2100, 2300, 2400, 3100, 3300, + 1600, 2000, 2400, 2500, 3000, 3300, + 1500, 1800, 2300, 2400, 2900, 3200, + 1600, 2000, 2400, 2800, 3200, 3400, + 1900, 2200, 2600, 2800, 3200, 3400, + 1900, 2200, 2500, 2800, 3100, 3400, + 1300, 1800, 2400, 2600, 3100, 3400, + 1300, 1500, 2400, 2500, 2900, 3300, + 1300, 1700, 2500, 2600, 3100, 3200, + 1300, 1700, 2600, 2700, 3200, 3300, + 1400, 1900, 2600, 2700, 3200, 3300, + 1400, 2000, 2600, 2700, 3200, 3300, + 1700, 1900, 2100, 2600, 3200, 3300, + 1700, 2000, 2100, 2300, 3200, 3300, + 2000, 2100, 2400, 2600, 3200, 3400, + 2100, 2200, 2500, 2700, 3200, 3400, + 1800, 1900, 2500, 2700, 3200, 3400, + 1700, 2000, 2500, 2700, 3300, 3400, + 1400, 1900, 2500, 2700, 3100, 3200, + 1500, 1800, 2500, 2600, 3100, 3300, + 1600, 2000, 2300, 2600, 3000, 3200, + 1600, 1900, 2300, 2700, 3000, 3200, + 1600, 1800, 2300, 2600, 3000, 3200, + 1400, 1600, 2100, 2500, 3000, 3200, + 1400, 1800, 2200, 2500, 2700, 3100, + 1400, 1900, 2300, 2500, 3100, 3200, + 1300, 2000, 2300, 2500, 3100, 3200, + 1300, 1900, 2300, 2500, 3100, 3200, + 1800, 2100, 2500, 2700, 3000, 3300, + 1800, 2100, 2400, 2700, 3100, 3300, + 1900, 2100, 2500, 2700, 3100, 3300, + 1600, 1800, 2300, 2400, 3200, 3400, + 1700, 1800, 2400, 2500, 3300, 3400, + 1900, 2000, 2700, 2800, 3200, 3400, + 1900, 2000, 2600, 2900, 3100, 3300, + 2000, 2200, 2800, 2900, 3300, 3400, + 2000, 2100, 2700, 2800, 3300, 3400, + 1900, 2100, 2400, 2700, 3300, 3400, + 1600, 1900, 2100, 2500, 3200, 3300, + 1400, 1900, 2100, 2400, 3200, 3300, + 1200, 1900, 2100, 2400, 3100, 3200, + 1200, 1800, 2100, 2500, 2900, 3200, + 1300, 1700, 1900, 2400, 2800, 2900, + 1900, 2300, 2600, 3000, 3200, 3300, + 1800, 2300, 2600, 3000, 3300, 3400, + 1800, 2200, 2500, 2800, 3300, 3500, + 1700, 1900, 2300, 2400, 3200, 3400, + 1800, 1900, 2400, 2500, 3100, 3300, + 2100, 2200, 2400, 2500, 3100, 3300, + 1800, 2100, 2500, 2800, 3100, 3200, + 2000, 2300, 2600, 2700, 3100, 3300, + 2100, 2200, 2500, 2600, 3100, 3300, + 2000, 2200, 2300, 2500, 3100, 3300, + 1800, 1900, 2100, 2300, 3200, 3300, + 1800, 1900, 2100, 2400, 3300, 3400, + 1700, 1800, 2200, 2300, 3300, 3400, + 1700, 1800, 2200, 2300, 3200, 3400, + 1600, 1700, 2200, 2300, 2900, 3400, + 1400, 1600, 2500, 2600, 3100, 3200, + 1300, 1400, 2400, 2600, 3000, 3100, + 1300, 1500, 2400, 2500, 3000, 3200, + 1300, 1800, 2400, 2500, 3100, 3200, + 1300, 1900, 2400, 2500, 3100, 3200, + 1800, 1900, 2200, 2400, 3300, 3400, + 1000, 1500, 2500, 2600, 3200, 3400, + 1000, 1700, 2500, 2600, 3200, 3300, + 1300, 1700, 2200, 2600, 3000, 3200, + 900, 1800, 2400, 2600, 3300, 3400, + 900, 1800, 2300, 2400, 3300, 3400, + 1000, 1600, 2300, 2400, 3300, 3400, + 1400, 1900, 2200, 2600, 3300, 3400, + 1500, 1900, 2300, 2600, 3300, 3400, + 1300, 2000, 2200, 2500, 3000, 3200, + 1100, 1800, 2300, 2500, 3200, 3300, + 1100, 1800, 2400, 2600, 3200, 3300, + 1100, 1900, 2400, 2700, 3200, 3300, + 1300, 2000, 2200, 2400, 3200, 3300, + 1800, 2100, 2400, 2800, 3300, 3400, + 1700, 2200, 2500, 2700, 3300, 3400, + 1700, 2000, 2300, 2700, 3200, 3400, + 1200, 1600, 2500, 2600, 3200, 3400, + 1100, 1900, 2500, 2600, 3200, 3300, + 1500, 1600, 2400, 2700, 2900, 3200, + 1500, 1800, 2500, 2700, 3100, 3400, + 1600, 1900, 2600, 2800, 3100, 3300, + 1700, 1800, 2600, 2700, 3000, 3300, + 1700, 1800, 2500, 2600, 2900, 3200, + 1700, 1800, 2500, 2600, 3000, 3300, + 1600, 1700, 2500, 2600, 3000, 3300, + 1700, 2000, 2400, 2700, 3100, 3400, + 1700, 1800, 2400, 2600, 2900, 3200, + 1800, 1900, 2500, 2600, 2900, 3200, + 1700, 1800, 2200, 2500, 2700, 3200, + 1700, 1800, 2300, 2500, 2800, 3200, + 1500, 1600, 2000, 2400, 2600, 2900, + 1200, 1300, 2100, 2400, 2600, 3200, + 1700, 2200, 2500, 2900, 3200, 3400, + 1700, 2200, 2600, 2900, 3400, 3500, + 1700, 2100, 2700, 2900, 3400, 3500, + 1500, 1800, 2400, 2600, 3100, 3300, + 1100, 1700, 2500, 2600, 3200, 3300, + 1300, 1700, 2600, 2700, 3200, 3400, + 1400, 1900, 2600, 2800, 3200, 3300, + 1600, 2000, 2500, 2900, 3300, 3400, + 1500, 1700, 2500, 2700, 3100, 3300, + 1800, 2000, 2500, 2700, 2900, 3300, + 1900, 2000, 2600, 2700, 2900, 3300, + 1900, 2100, 2400, 2700, 2900, 3200, + 1900, 2000, 2500, 2700, 3000, 3300, + 1900, 2000, 2400, 2700, 3000, 3300, + 1700, 1900, 2500, 2600, 3100, 3400, + 1600, 1900, 2500, 2600, 3200, 3500, + 1900, 2100, 2600, 2900, 3200, 3400, + 2100, 2300, 2700, 2900, 3200, 3300, + 1600, 2000, 2200, 2400, 3100, 3200, + 1700, 1900, 2200, 2400, 2900, 3100, + 1700, 1800, 2100, 2400, 2800, 3200, + 1900, 2200, 2500, 2700, 3000, 3200, + 1900, 2300, 2600, 2700, 3100, 3200, + 1800, 2400, 2600, 2900, 3200, 3300, + 1800, 2300, 2500, 2900, 3200, 3300, + 1600, 1800, 2500, 2600, 3300, 3400, + 1500, 1700, 2200, 2400, 2900, 3200, + 1500, 1600, 2200, 2300, 2800, 3200, + 1400, 1500, 2100, 2200, 2800, 3200, + 1400, 1500, 2100, 2300, 2800, 3200, + 1400, 1500, 2200, 2400, 2700, 3100, + 1700, 1900, 2400, 2800, 3100, 3200, + 1700, 1800, 2400, 2700, 3100, 3300, + 1800, 1900, 2300, 2700, 2900, 3300, + 2000, 2100, 2400, 2700, 3000, 3300, + 1400, 1600, 2500, 2700, 3100, 3400, + 1000, 1600, 2300, 2400, 3100, 3200, + 1100, 1700, 2400, 2500, 3200, 3300, + 1200, 1700, 2300, 2400, 3100, 3200, + 2000, 2100, 2400, 2500, 3100, 3300, + 1900, 2000, 2300, 2500, 3100, 3300, + 1600, 1800, 2300, 2500, 3200, 3300, + 1400, 1600, 2300, 2400, 3100, 3300, + 1300, 1500, 2300, 2500, 3000, 3300, + 1300, 1500, 2300, 2500, 3100, 3200, + 1300, 1800, 2300, 2600, 3100, 3200, + 1800, 1900, 2400, 2500, 3000, 3200, + 1900, 2400, 2600, 3000, 3200, 3300, + 1400, 1500, 2400, 2600, 2900, 3300, + 1400, 1500, 2200, 2600, 2800, 3300, + 1400, 1500, 2200, 2500, 2800, 3200, + 1400, 1500, 2300, 2500, 3000, 3300, + 1600, 2000, 2400, 2700, 3200, 3400, + 1700, 2200, 2600, 2800, 3100, 3300, + 1800, 2100, 2600, 2700, 3200, 3300, + 1700, 2200, 2500, 2700, 3200, 3300, + 1500, 1700, 2200, 2300, 3000, 3300, + 1600, 1700, 2200, 2500, 3200, 3400, + 1600, 1800, 2300, 2400, 3100, 3300, + 1700, 1800, 2200, 2400, 3000, 3300, + 1700, 1800, 2200, 2300, 3000, 3200, + 1700, 1800, 2200, 2300, 3100, 3300, + 1700, 2000, 2200, 2600, 3200, 3300, + 1800, 1900, 2200, 2500, 3100, 3200, + 1600, 1700, 2100, 2400, 2900, 3200, + 1500, 1800, 2300, 2700, 3000, 3300, + 1500, 1800, 2200, 2600, 3000, 3300, + 1700, 2000, 2500, 2700, 3200, 3300, + 1900, 2000, 2600, 2800, 3200, 3400, + 1800, 1900, 2500, 2800, 3100, 3300, + 1600, 1800, 2500, 2600, 3000, 3300, + 1200, 1500, 2500, 2700, 3100, 3200, + 1100, 1900, 2500, 2600, 3100, 3200, + 1200, 1900, 2400, 2500, 3100, 3200, + 1500, 1700, 2100, 2200, 3200, 3300, + 1600, 1800, 2000, 2200, 3300, 3400, + 1500, 1600, 1800, 2000, 3300, 3400, + 1400, 1600, 1800, 1900, 3300, 3400, + 1400, 1600, 2400, 2600, 3000, 3400, + 1400, 1800, 2500, 2600, 3100, 3200, + 1500, 1700, 2400, 2700, 3100, 3300, + 1500, 1800, 2500, 2700, 3000, 3300, + 1400, 1500, 2400, 2600, 3000, 3300, + 1200, 1400, 2300, 2400, 3000, 3200, + 1200, 1600, 2300, 2400, 3100, 3200, + 1400, 2000, 2400, 2700, 3100, 3300, + 1600, 1900, 2300, 2700, 3100, 3200, + 1500, 1900, 2300, 2700, 3100, 3200, + 1200, 1400, 2300, 2500, 3100, 3300, + 1800, 1900, 2400, 2600, 3000, 3100, + 1800, 1900, 2500, 2600, 2900, 3100, + 1600, 2000, 2400, 2700, 3000, 3300, + 1600, 1900, 2400, 2500, 3100, 3300, + 1600, 1900, 2500, 2600, 3100, 3200, + 1700, 1800, 2400, 2500, 2900, 3300, + 1700, 1800, 2300, 2500, 2900, 3200, + 1700, 1800, 2400, 2500, 3000, 3200, + 1800, 1900, 2200, 2500, 3000, 3200, + 1700, 2000, 2300, 2500, 3000, 3200, + 1800, 2000, 2300, 2500, 3000, 3200, + 1900, 2100, 2300, 2600, 3000, 3200, + 1900, 2100, 2400, 2600, 3000, 3300, + 2000, 2100, 2300, 2500, 3000, 3200, + 1700, 1800, 2300, 2600, 3100, 3300, + 1700, 2100, 2500, 2700, 3200, 3400, + 1700, 1900, 2300, 2500, 3000, 3200, + 1800, 1900, 2200, 2400, 2900, 3300, + 1800, 1900, 2300, 2500, 3000, 3300, + 1800, 2000, 2200, 2500, 2900, 3200, + 1900, 2200, 2400, 2600, 2900, 3200, + 1700, 2100, 2600, 2800, 3100, 3300, + 1800, 2300, 2700, 2900, 3200, 3300, + 2000, 2300, 2800, 2900, 3100, 3300, + 2100, 2200, 2600, 2800, 3200, 3300, + 1800, 1900, 2300, 2400, 3100, 3200, + 1700, 1800, 2300, 2500, 3000, 3200, + 1800, 1900, 2300, 2500, 3000, 3200, + 1800, 1900, 2300, 2600, 3100, 3200, + 1800, 2000, 2300, 2600, 3100, 3200, + 1400, 1600, 1800, 2000, 3100, 3300, + 1300, 1700, 2300, 2400, 3100, 3200, + 1500, 1700, 2300, 2400, 3100, 3200, + 1600, 1700, 2300, 2500, 2900, 3100, + 1500, 1700, 2300, 2500, 2900, 3100, + 1500, 1700, 2300, 2500, 2800, 3000, + 1500, 1600, 2300, 2500, 2800, 3200, + 1400, 1500, 2300, 2600, 3000, 3200, + 1200, 1600, 2400, 2500, 3000, 3300, + 1400, 1600, 2200, 2500, 2900, 3200, + 1500, 1900, 2300, 2600, 2900, 3200, + 1400, 1800, 2400, 2700, 3200, 3400, + 1500, 1900, 2400, 2700, 3200, 3400, + 1700, 2100, 2400, 2800, 3000, 3300, + 1700, 2000, 2500, 2700, 3100, 3400, + 1800, 1900, 2400, 2800, 3200, 3300, + 1800, 1900, 2300, 2900, 3200, 3300, + 1800, 1900, 2500, 2800, 3200, 3300, + 1700, 1800, 2400, 2800, 3200, 3300, + 1700, 1800, 2400, 2700, 3200, 3300, + 1600, 1700, 2300, 2600, 3000, 3300, + 1600, 1700, 2200, 2500, 2900, 3300, + 1500, 1600, 2300, 2500, 3000, 3300, + 1500, 1900, 2400, 2500, 3300, 3400, + 1500, 2000, 2400, 2800, 3200, 3300, + 1400, 1800, 2400, 2700, 3200, 3300, + 1400, 1900, 2400, 2700, 3200, 3400, + 1300, 1700, 2300, 2500, 3200, 3400, + 1100, 1700, 2300, 2400, 3100, 3200, + 1500, 1700, 1900, 2200, 3300, 3400, + 1900, 2300, 2600, 2800, 3200, 3400, + 1900, 2400, 2700, 2800, 3300, 3400, + 2000, 2300, 2700, 2900, 3400, 3500, + 1900, 2300, 2700, 2900, 3400, 3500, + 1900, 2100, 2800, 2900, 3300, 3400, + 1700, 1800, 2700, 2800, 3100, 3300, + 1500, 1700, 2700, 2800, 3200, 3300, + 1500, 1600, 2600, 2700, 3000, 3300, + 1400, 1600, 2600, 2800, 3000, 3200, + 1200, 1400, 2600, 2700, 3000, 3200, + 1000, 1500, 2600, 2800, 3200, 3400, + 1100, 1300, 2500, 2800, 3000, 3200, + 1500, 1600, 2500, 2600, 3000, 3300, + 1400, 1500, 2300, 2600, 2800, 3200, + 1400, 1600, 2200, 2600, 2800, 3100, + 1500, 1600, 2300, 2700, 2900, 3200, + 1400, 1500, 2500, 2600, 3100, 3400, + 1400, 1500, 2400, 2600, 2800, 3300, + 1400, 1600, 2400, 2600, 2800, 3200, + 1300, 1600, 2300, 2600, 2900, 3300, + 1700, 2200, 2600, 2700, 3200, 3300, + 1700, 2300, 2600, 2700, 3200, 3300, + 1700, 1900, 2400, 2600, 3100, 3200, + 1800, 2300, 2500, 2600, 3200, 3300, + 1900, 2400, 2500, 2800, 3300, 3400, + 1800, 2000, 2600, 2800, 3300, 3400, + 1600, 1900, 2400, 2800, 3200, 3300, + 1700, 1800, 2600, 2800, 3000, 3300, + 1900, 2000, 2600, 2800, 3200, 3300, + 2000, 2100, 2700, 2800, 3200, 3400, + 2000, 2100, 2600, 2800, 3300, 3400, + 1600, 1700, 2300, 2600, 2900, 3300, + 1400, 1600, 2400, 2500, 2800, 3200, + 1800, 1900, 2500, 2700, 3000, 3400, + 1900, 2000, 2600, 2700, 3000, 3300, + 1700, 2000, 2400, 2600, 2900, 3200, + 1500, 1600, 2300, 2600, 3000, 3300, + 1500, 1600, 2400, 2600, 2900, 3300, + 1400, 1500, 2300, 2700, 3000, 3300, + 1600, 1800, 2500, 2600, 2900, 3200, + 2000, 2100, 2400, 2600, 3000, 3200, + 1800, 2000, 2300, 2400, 3200, 3300, + 1600, 1900, 2300, 2400, 3200, 3300, + 1500, 1800, 2400, 2700, 3200, 3300, + 1700, 1900, 2300, 2400, 3000, 3200, + 2000, 2200, 2400, 2500, 3200, 3300, + 2200, 2300, 2600, 2700, 3200, 3300, + 2100, 2200, 2400, 2700, 3000, 3200, + 2100, 2200, 2500, 2700, 3000, 3200, + 2200, 2300, 2600, 2800, 3000, 3300, + 1900, 2200, 2600, 2700, 3000, 3300, + 1700, 1800, 2500, 2700, 2800, 3200, + 1700, 1800, 2600, 2700, 3000, 3200, + 1700, 1900, 2500, 2700, 3100, 3300, + 1700, 1900, 2500, 2700, 3300, 3400, + 1800, 2000, 2400, 2600, 3100, 3200, + 1700, 2200, 2300, 2500, 3200, 3300, + 1700, 2200, 2300, 2600, 3100, 3200, + 1600, 1700, 2400, 2600, 3300, 3400, + 1600, 1700, 2400, 2500, 3300, 3400, + 1900, 2100, 2500, 2800, 3000, 3100, + 1800, 2100, 2500, 2800, 3000, 3100, + 1800, 2100, 2600, 2800, 3100, 3200, + 1800, 2000, 2500, 2800, 3100, 3200, + 1900, 2100, 2500, 2600, 3000, 3200, + 1800, 1900, 2600, 2800, 3200, 3400, + 1500, 2100, 2500, 2700, 3300, 3400, + 1100, 2000, 2400, 2600, 3300, 3400, + 1100, 1900, 2400, 2500, 3300, 3400, + 1300, 1500, 2200, 2400, 2900, 3300, + 1600, 1700, 2300, 2500, 2900, 3300, + 1600, 1700, 2400, 2500, 3000, 3200, + 1800, 1900, 2500, 2600, 3100, 3300, + 1900, 2000, 2500, 2700, 3100, 3200, + 2100, 2200, 2400, 2600, 3100, 3400, + 2100, 2200, 2500, 2600, 3000, 3400, + 1900, 2100, 2400, 2700, 3000, 3100, + 1600, 1800, 2200, 2400, 3000, 3200, + 1600, 1700, 2200, 2300, 2900, 3300, + 1600, 1700, 2100, 2300, 2800, 3100, + 2200, 2300, 2600, 2800, 3100, 3300, + 2200, 2300, 2700, 2800, 3100, 3400, + 2000, 2100, 2600, 2800, 3100, 3400, + 1700, 1800, 2400, 2700, 2900, 3200, + 1600, 1800, 2400, 2700, 3100, 3200, + 1600, 1800, 2300, 2400, 3000, 3200, + 1800, 1900, 2400, 2600, 3100, 3300, + 1900, 2000, 2300, 2600, 2900, 3200, + 1900, 2100, 2300, 2700, 2800, 3000, + 1800, 2000, 2600, 2700, 3000, 3300, + 1800, 1900, 2400, 2600, 2900, 3300, + 1700, 1800, 2300, 2400, 2900, 3300, + 1600, 1700, 2100, 2500, 3000, 3200, + 1600, 1800, 2200, 2600, 3100, 3200, + 1500, 1700, 2200, 2500, 2900, 3300, + 1500, 1600, 2300, 2400, 2800, 3300, + 1400, 1600, 2300, 2400, 3000, 3300, + 1500, 2000, 2500, 2800, 3200, 3300, + 1300, 1500, 2600, 2700, 3100, 3300, + 1200, 1400, 1700, 1900, 3100, 3300, + 1200, 1700, 1900, 2300, 3200, 3300, + 1200, 1900, 2000, 2300, 3200, 3300, + 1200, 2000, 2100, 2500, 3300, 3400, + 1200, 2000, 2200, 2600, 3300, 3400, + 1200, 2000, 2300, 2400, 3200, 3300, + 1000, 1900, 2300, 2500, 3200, 3300, + 1200, 1800, 2200, 2500, 3100, 3200, + 1400, 1600, 2300, 2500, 3200, 3300, + 1500, 1600, 2500, 2700, 2900, 3200, + 1600, 1900, 2400, 2800, 3100, 3300, + 1700, 1800, 2400, 2800, 3100, 3200, + 1700, 1800, 2500, 2800, 3100, 3200, + 1500, 1800, 2400, 2500, 2900, 3100, + 1500, 1600, 2400, 2500, 2900, 3200, + 1300, 1500, 2200, 2500, 2800, 3100, + 1300, 1400, 2000, 2400, 2600, 2900, + 1400, 1500, 2100, 2500, 2700, 3100, + 1500, 2000, 2300, 2600, 3000, 3200, + 1700, 2100, 2400, 2600, 2900, 3100, + 1400, 1500, 2300, 2600, 3000, 3300, + 1500, 1700, 2200, 2300, 3200, 3300, + 1400, 1600, 2000, 2400, 3100, 3300, + 1500, 1700, 2000, 2100, 3100, 3300, + 1600, 1900, 2200, 2500, 2900, 3200, + 1500, 1600, 2200, 2400, 2800, 3200, + 1500, 1600, 2100, 2500, 3000, 3300, + 1500, 1600, 2000, 2500, 2900, 3300, + 1500, 1600, 2100, 2500, 2900, 3200, + 1500, 1600, 2200, 2700, 2800, 3100, + 1300, 1400, 2200, 2600, 3000, 3200, + 1400, 1900, 2400, 2700, 3100, 3300, + 1600, 1800, 2500, 2600, 3000, 3200, + 1500, 1700, 2300, 2500, 2800, 3200, + 1700, 1800, 2200, 2400, 3200, 3300, + 1700, 1900, 2200, 2300, 3000, 3300, + 1600, 1700, 2000, 2400, 3000, 3200, + 1700, 1800, 2300, 2600, 2900, 3200, + 1500, 2000, 2300, 2600, 3100, 3400, + 1400, 1900, 2500, 2700, 3100, 3300, + 1400, 1700, 2600, 2700, 3100, 3300, + 1500, 1600, 2300, 2600, 2800, 3200, + 1700, 1800, 2300, 2500, 3100, 3400, + 1500, 1600, 2200, 2300, 3100, 3300, + 1400, 1500, 2200, 2400, 3100, 3200, + 1400, 1600, 2200, 2400, 3000, 3100, + 1700, 2100, 2300, 2700, 3100, 3200, + 1900, 2300, 2500, 2700, 3100, 3200, + 1900, 2300, 2600, 2800, 3100, 3300, + 1900, 2400, 2600, 2900, 3200, 3300, + 1900, 2300, 2600, 2800, 3300, 3400, + 1800, 2400, 2600, 2800, 3300, 3400, + 1600, 1800, 2600, 2700, 3000, 3300, + 1600, 1700, 2600, 2700, 2900, 3200, + 1500, 1600, 2500, 2700, 3000, 3300, + 1300, 1400, 2400, 2700, 2900, 3300, + 1300, 1400, 2300, 2700, 2800, 3100, + 1300, 1400, 2500, 2800, 3000, 3300, + 1500, 1700, 2400, 2500, 2800, 3300, + 1900, 2000, 2500, 2600, 3000, 3200, + 1800, 2000, 2400, 2500, 3100, 3200, + 1700, 1800, 2100, 2300, 2800, 3100, + 1700, 1800, 2200, 2400, 2800, 3200, + 1600, 1700, 2200, 2400, 2800, 3200, + 1500, 1600, 2200, 2400, 2700, 3300, + 1400, 1500, 2200, 2400, 2900, 3200, + 1600, 1700, 2300, 2500, 2700, 3000, + 1600, 1700, 2200, 2500, 2700, 3000, + 1700, 1900, 2200, 2500, 2800, 3100, + 1900, 2000, 2300, 2500, 2900, 3100, + 1900, 2100, 2300, 2500, 2900, 3200, + 1900, 2100, 2300, 2500, 3100, 3300, + 2000, 2200, 2600, 2800, 3000, 3200, + 1900, 2200, 2500, 2700, 2900, 3200, + 2100, 2300, 2600, 2800, 3100, 3300, + 2100, 2300, 2600, 2700, 3000, 3200, + 2100, 2200, 2500, 2600, 3000, 3200, + 1500, 1600, 2300, 2400, 2900, 3200, + 1400, 1500, 2100, 2400, 2800, 3100, + 1300, 1600, 2100, 2400, 3100, 3200, + 1300, 1400, 2300, 2600, 2800, 3200, + 1400, 1500, 2200, 2500, 2700, 3200, + 1400, 1500, 2300, 2500, 2700, 3200, + 1500, 1600, 2400, 2500, 2800, 3200, + 1600, 1700, 2400, 2500, 2900, 3200, + 1700, 1800, 2400, 2500, 2900, 3100, + 1800, 1900, 2400, 2600, 3000, 3200, + 2100, 2200, 2700, 2900, 3200, 3300, + 1800, 2100, 2500, 2900, 3100, 3300, + 1700, 1800, 2500, 2800, 2900, 3300, + 1200, 1600, 2100, 2400, 3000, 3200, + 1600, 1700, 2100, 2600, 2900, 3000, + 1600, 1700, 2200, 2700, 2900, 3000, + 1600, 1800, 2200, 2500, 2900, 3000, + 1700, 1800, 2300, 2500, 2900, 3100, + 1700, 1900, 2300, 2600, 2900, 3100, + 1500, 1700, 2000, 2600, 2900, 3100, + 1400, 1600, 1800, 2600, 3000, 3100, + 1300, 1500, 1700, 2700, 3100, 3200, + 1300, 1700, 2400, 2700, 3100, 3300, + 1200, 1600, 2400, 2600, 2900, 3200, + 1300, 1400, 2000, 2700, 2800, 3000, + 1400, 1500, 2000, 2600, 2800, 3000, + 1500, 1700, 2100, 2600, 2800, 3000, + 1600, 1800, 2200, 2700, 2800, 3000, + 1600, 1800, 2100, 2700, 2900, 3100, + 1500, 1900, 2300, 2700, 3000, 3100, + 1500, 1900, 2300, 2700, 3000, 3200, + 1500, 2000, 2300, 2700, 3000, 3200, + 1800, 2100, 2300, 2700, 3100, 3300, + 1500, 2000, 2300, 2600, 3000, 3100, + 1500, 2100, 2300, 2700, 3100, 3200, + 1600, 2100, 2200, 2700, 3100, 3200, + 1500, 2100, 2200, 2600, 3100, 3200, + 1400, 2300, 2500, 2700, 3100, 3200, + 1700, 2100, 2300, 2700, 2900, 3100, + 1500, 1800, 2300, 2700, 3000, 3100, + 1500, 1700, 2300, 2700, 3000, 3100, + 1500, 1600, 2100, 2700, 3000, 3100, + 1400, 1500, 1900, 2600, 3100, 3200, + 1200, 1300, 1900, 2600, 2900, 3100, + 1100, 1200, 1800, 2700, 3000, 3100, + 1200, 1300, 1800, 2700, 3000, 3100, + 1200, 1400, 1900, 2700, 3000, 3100, + 1300, 1500, 1800, 2600, 3000, 3100, + 1200, 1400, 2300, 2700, 2900, 3100, + 1300, 1400, 2200, 2700, 2800, 3100, + 1300, 1500, 2000, 2600, 2900, 3100, + 1300, 1500, 2100, 2700, 2900, 3100, + 1400, 1800, 2100, 2600, 2800, 3000, + 1400, 1800, 2100, 2500, 2900, 3100, + 1700, 2000, 2500, 2800, 3000, 3200, + 1900, 2000, 2700, 2800, 3100, 3400, + 1900, 2100, 2600, 2800, 3100, 3300, + 1600, 2100, 2400, 2700, 3200, 3400, + 1700, 2000, 2300, 2500, 2800, 3200, + 1500, 1700, 2100, 2300, 3000, 3200, + 1400, 1900, 2200, 2500, 2900, 3200, + 1400, 1900, 2300, 2500, 2700, 3100, + 1300, 1500, 2100, 2700, 2800, 3100, + 1300, 1500, 2000, 2600, 2800, 3100, + 1300, 1400, 2100, 2600, 2800, 3000, + 1300, 1400, 2000, 2600, 2800, 3000, + 1200, 1300, 2000, 2700, 2800, 3000, + 1200, 1400, 2300, 2600, 2900, 3200, + 1300, 1600, 2300, 2700, 2900, 3200, + 1600, 1900, 2300, 2800, 3100, 3200, + 1700, 1900, 2300, 2800, 3000, 3200, + 1700, 1900, 2100, 2600, 2900, 3000, + 1700, 1900, 2400, 2600, 2800, 3100, + 1700, 2100, 2400, 2500, 2800, 3100, + 1700, 2000, 2400, 2500, 2900, 3100, + 1900, 2200, 2400, 2600, 3000, 3200, + 1700, 2000, 2400, 2700, 3000, 3100, + 1500, 1900, 2300, 2600, 3000, 3100, + 1500, 1600, 2100, 2600, 2900, 3200, + 1400, 1600, 1800, 2300, 2800, 2900, + 1400, 1600, 1700, 2500, 3200, 3300, + 1400, 1600, 1800, 2400, 3200, 3300, + 1400, 1700, 1900, 2200, 3100, 3200, + 1300, 1700, 1900, 2300, 3100, 3200, + 1100, 1600, 2000, 2300, 3000, 3100, + 1500, 1900, 2500, 2800, 3200, 3300, + 1800, 2000, 2300, 2800, 3000, 3100, + 1800, 1900, 2300, 2700, 2900, 3200, + 1700, 1900, 2300, 2600, 2800, 3100, + 1700, 1900, 2100, 2500, 2700, 3000, + 1700, 1900, 2100, 2600, 2800, 3000, + 1700, 1900, 2100, 2700, 2900, 3100, + 1700, 1900, 2500, 2800, 3000, 3300 +}; + +const struct lsp_codebook lsp_cbjnd[] = { + /* codebook/lsp1.txt */ + { + 1, + 4, + 16, + codes0 + }, + /* codebook/lsp2.txt */ + { + 1, + 4, + 16, + codes1 + }, + /* codebook/lsp3.txt */ + { + 1, + 4, + 16, + codes2 + }, + /* codebook/lsp4.txt */ + { + 1, + 4, + 16, + codes3 + }, + /* ../unittest/lspjnd5-10.txt */ + { + 6, + 11.7181, + 3369, + codes4 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookjvm.c b/DSP_API/CODEC2_FREEDV/codebookjvm.c new file mode 100644 index 0000000..917674e --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookjvm.c @@ -0,0 +1,1579 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lspjvm1.txt */ +static const float codes0[] = { + 0.435217, 0.668864, 1.0103, 1.22042, 1.50398, 1.78468, 2.13546, 2.35747, 2.61891, 2.73804, + 0.179285, 0.33316, 0.500638, 0.79695, 1.03999, 1.23497, 1.6523, 1.84823, 2.62556, 2.80497, + 0.268785, 0.356576, 0.595753, 1.04434, 1.24938, 1.42868, 1.68699, 1.86469, 2.33991, 2.5138, + 0.12007, 0.165585, 0.484694, 0.95916, 1.23753, 1.52915, 1.83751, 2.10773, 2.48749, 2.76685, + 0.150214, 0.229487, 0.62824, 0.961255, 1.33706, 1.59831, 1.91974, 2.21786, 2.53732, 2.75956, + 0.268624, 0.34598, 0.569637, 0.754737, 0.916538, 1.50854, 1.78635, 1.95442, 2.36953, 2.50182, + 0.246064, 0.468874, 0.662711, 0.890015, 1.14715, 1.51043, 1.78106, 2.09594, 2.65539, 2.80037, + 0.191631, 0.280628, 0.393229, 0.611761, 1.42017, 1.70774, 1.87303, 2.10155, 2.28035, 2.49949, + 0.361668, 0.507047, 0.789974, 1.04599, 1.50238, 1.67703, 1.90534, 2.16255, 2.43226, 2.59087, + 0.20816, 0.294285, 0.448634, 0.694229, 0.872517, 1.07032, 1.70335, 2.16874, 2.42619, 2.60366, + 0.316939, 0.513618, 0.705487, 0.917036, 1.17599, 1.31114, 1.6186, 2.03784, 2.45052, 2.5794, + 0.241068, 0.377728, 0.521595, 0.717203, 1.31041, 1.53999, 1.73643, 2.09893, 2.29792, 2.58735, + 0.234937, 0.281875, 0.780422, 1.44073, 1.60943, 1.75643, 1.97721, 2.14861, 2.60203, 2.7225, + 0.178679, 0.242672, 0.416988, 0.708348, 0.95562, 1.17667, 1.7818, 2.05449, 2.28159, 2.44811, + 0.345036, 0.42108, 0.740887, 1.16544, 1.32494, 1.4888, 1.76346, 1.90617, 2.39505, 2.64916, + 0.249586, 0.357494, 0.520747, 0.847195, 1.42841, 1.59778, 1.77819, 2.1785, 2.41344, 2.56466, + 0.295235, 0.574231, 1.2491, 1.4641, 1.72756, 1.92679, 2.09536, 2.28483, 2.56707, 2.72248, + 0.34193, 0.427307, 0.634001, 0.804212, 0.905629, 1.33337, 1.79033, 1.89276, 2.44582, 2.60283, + 0.363948, 0.508985, 0.667357, 0.946354, 1.43756, 1.62654, 1.81114, 2.03909, 2.29188, 2.43549, + 0.163514, 0.277407, 0.409207, 0.902065, 1.18907, 1.33964, 1.80241, 1.96077, 2.65293, 2.81899, + 0.302643, 0.359753, 0.651207, 1.20802, 1.4237, 1.54815, 1.88213, 2.01559, 2.26054, 2.5789, + 0.155928, 0.216908, 0.381812, 0.654803, 1.11237, 1.58993, 1.84756, 1.97672, 2.22408, 2.72534, + 0.274981, 0.347675, 0.572, 0.736046, 0.894248, 1.63237, 1.89139, 2.05689, 2.6029, 2.72178, + 0.154496, 0.243461, 0.348174, 0.689505, 1.57381, 1.70031, 1.94318, 2.10158, 2.56466, 2.77317, + 0.292612, 0.466612, 0.795936, 1.04747, 1.41369, 1.75085, 2.06289, 2.34007, 2.61361, 2.76949, + 0.242896, 0.3615, 0.555859, 0.793597, 0.932291, 1.40947, 1.86386, 2.00953, 2.4645, 2.67749, + 0.221646, 0.344724, 0.554564, 0.729403, 1.13657, 1.30177, 1.52918, 2.16359, 2.39582, 2.61081, + 0.160969, 0.224467, 0.371545, 0.626879, 1.16095, 1.44423, 1.67597, 1.87978, 2.47859, 2.67202, + 0.214172, 0.341585, 0.676575, 0.977397, 1.32543, 1.7201, 2.07259, 2.36954, 2.63528, 2.77879, + 0.203311, 0.289438, 0.458739, 0.914153, 1.12288, 1.30292, 1.58384, 1.88683, 2.18787, 2.42704, + 0.280383, 0.3716, 0.824827, 1.10025, 1.23623, 1.39892, 1.57804, 2.016, 2.36897, 2.50673, + 0.170627, 0.251778, 0.393686, 0.608347, 1.2876, 1.44667, 1.79328, 2.03655, 2.31015, 2.75244, + 0.18058, 0.288746, 0.987854, 1.43171, 1.67722, 1.91566, 2.12494, 2.28945, 2.58961, 2.75426, + 0.176335, 0.266263, 0.445421, 0.706403, 0.875402, 1.42292, 1.75867, 1.96091, 2.41068, 2.60175, + 0.216173, 0.287404, 0.480696, 1.00977, 1.2913, 1.47664, 1.89558, 2.06429, 2.28406, 2.48311, + 0.176523, 0.273934, 0.403407, 0.966139, 1.30472, 1.43661, 1.94473, 2.08484, 2.54446, 2.76242, + 0.311836, 0.550501, 0.879591, 1.09623, 1.27666, 1.47786, 1.81771, 2.15434, 2.56047, 2.77984, + 0.179765, 0.25056, 0.455939, 1.02389, 1.22513, 1.47566, 1.73462, 1.91871, 2.14734, 2.43824, + 0.271033, 0.457235, 0.599622, 0.821049, 0.940125, 1.20094, 1.84972, 1.98666, 2.54817, 2.75158, + 0.179326, 0.248002, 0.426405, 0.81706, 1.28589, 1.56502, 2.11736, 2.29871, 2.5724, 2.7527, + 0.374409, 0.535936, 0.897009, 1.18507, 1.59157, 1.7572, 1.96794, 2.17999, 2.45739, 2.62264, + 0.185472, 0.282752, 0.409439, 0.657499, 0.856446, 1.0294, 1.87993, 2.06932, 2.34474, 2.7531, + 0.375964, 0.578457, 0.758945, 0.929339, 1.12748, 1.25944, 1.70411, 2.12297, 2.33603, 2.4983, + 0.225641, 0.36103, 0.501679, 0.783379, 1.31485, 1.45262, 1.71415, 1.98716, 2.2257, 2.72436, + 0.144996, 0.252919, 0.632145, 1.22604, 1.57534, 1.90155, 2.17148, 2.39055, 2.68229, 2.80983, + 0.172022, 0.263338, 0.448634, 0.729435, 0.984007, 1.1716, 1.75705, 1.99023, 2.32131, 2.77121, + 0.235731, 0.351117, 0.796871, 1.05571, 1.30022, 1.59182, 1.89587, 2.12292, 2.41789, 2.59982, + 0.254053, 0.319371, 0.455623, 1.08614, 1.66467, 1.91588, 2.05908, 2.23342, 2.45204, 2.58679, + 0.375538, 0.742993, 1.13991, 1.33776, 1.73556, 2.01391, 2.31501, 2.48343, 2.65158, 2.75521, + 0.247245, 0.481131, 0.710366, 0.897602, 1.12109, 1.27171, 1.78735, 2.1995, 2.42966, 2.74067, + 0.226103, 0.311441, 0.501648, 0.844424, 1.36282, 1.53134, 1.77747, 1.98993, 2.18749, 2.3585, + 0.195862, 0.296224, 0.609554, 0.783241, 1.24347, 1.44548, 1.63703, 2.02264, 2.48356, 2.64614, + 0.233302, 0.299441, 0.472792, 1.24946, 1.45788, 1.60186, 1.83143, 1.99372, 2.59719, 2.75543, + 0.168096, 0.224183, 0.3827, 0.596214, 1.06059, 1.29442, 1.60576, 1.84849, 2.3577, 2.56919, + 0.33005, 0.445912, 0.661713, 0.874446, 1.00079, 1.45297, 1.94399, 2.07692, 2.42388, 2.61236, + 0.226382, 0.287303, 0.517631, 0.806229, 1.30901, 1.88528, 2.16051, 2.28641, 2.52638, 2.66082, + 0.20317, 0.499314, 0.887358, 1.23507, 1.46292, 1.69826, 1.99932, 2.22922, 2.57161, 2.76669, + 0.307531, 0.378353, 0.573606, 0.712218, 0.850169, 1.309, 2.05909, 2.26382, 2.49794, 2.67682, + 0.276203, 0.51025, 0.6868, 0.902844, 1.2052, 1.32798, 1.71889, 2.03895, 2.25639, 2.69715, + 0.161948, 0.229115, 0.393619, 0.683613, 1.13781, 1.32269, 1.78372, 1.96158, 2.38907, 2.63608, + 0.201334, 0.276773, 0.468994, 0.967017, 1.47597, 1.63242, 1.96577, 2.19728, 2.48059, 2.70155, + 0.214587, 0.315421, 0.469498, 0.733397, 1.146, 1.27791, 1.72784, 2.22713, 2.44026, 2.68112, + 0.255602, 0.394609, 0.743393, 0.977796, 1.19908, 1.40597, 1.91834, 2.22483, 2.47919, 2.66339, + 0.245989, 0.352625, 0.517055, 0.80283, 1.55871, 1.79565, 1.94405, 2.13364, 2.33327, 2.47998, + 0.337423, 0.480433, 0.869036, 1.13957, 1.63076, 1.82296, 2.07484, 2.29261, 2.47913, 2.62532, + 0.220974, 0.35885, 0.57164, 0.752791, 0.937013, 1.15172, 1.6744, 2.06247, 2.55872, 2.78484, + 0.267518, 0.331708, 0.541111, 1.11655, 1.41112, 1.53287, 1.79295, 1.93352, 2.24894, 2.62864, + 0.084613, 0.105083, 0.297424, 0.916949, 1.2563, 1.56703, 1.88539, 2.18987, 2.52279, 2.7921, + 0.205328, 0.287223, 0.724462, 1.0324, 1.45771, 1.64217, 1.92563, 2.17552, 2.42964, 2.60549, + 0.232554, 0.338724, 0.502115, 0.859975, 1.04409, 1.24565, 1.80656, 1.99964, 2.26116, 2.45998, + 0.291638, 0.379172, 0.626072, 0.792796, 0.959124, 1.50489, 1.73447, 1.91961, 2.61436, 2.72271, + 0.191554, 0.263114, 0.426797, 0.610628, 1.07741, 1.82954, 2.02195, 2.21057, 2.42765, 2.61383, + 0.389151, 0.679476, 0.915414, 1.03664, 1.25085, 1.58661, 2.04097, 2.2815, 2.56794, 2.71882, + 0.2032, 0.30128, 0.470357, 0.668716, 0.851737, 0.980327, 1.57086, 2.03762, 2.28907, 2.69388, + 0.304064, 0.405934, 0.710274, 0.962705, 1.12882, 1.34167, 1.63505, 1.84538, 2.07992, 2.50751, + 0.171777, 0.240705, 0.409371, 0.786432, 1.2232, 1.37569, 1.69176, 1.86608, 2.35041, 2.49394, + 0.231251, 0.277994, 0.557867, 1.32582, 1.66035, 1.77948, 2.00714, 2.17232, 2.44046, 2.65231, + 0.188101, 0.259494, 0.412543, 0.624843, 0.839549, 1.0337, 1.63413, 1.93194, 2.24608, 2.42577, + 0.361304, 0.419465, 0.795676, 1.18461, 1.2968, 1.57845, 1.84175, 1.99736, 2.54054, 2.68714, + 0.274372, 0.338938, 0.492443, 0.963516, 1.50951, 1.70638, 1.86988, 2.07717, 2.26128, 2.44418, + 0.41599, 0.652103, 1.03129, 1.26955, 1.57275, 1.77297, 2.00466, 2.17527, 2.43061, 2.59655, + 0.242045, 0.370942, 0.534392, 0.763529, 1.00117, 1.12976, 1.68219, 2.14464, 2.32448, 2.7157, + 0.377438, 0.588168, 0.765394, 0.976873, 1.35665, 1.49009, 1.73797, 2.00677, 2.21369, 2.38997, + 0.191625, 0.284123, 0.405342, 1.01678, 1.43273, 1.54759, 1.81393, 1.95832, 2.47077, 2.64926, + 0.272672, 0.349555, 0.633911, 1.15223, 1.30394, 1.54764, 1.9195, 2.0477, 2.56278, 2.73058, + 0.168423, 0.23633, 0.421468, 0.831345, 1.08354, 1.55345, 1.88073, 2.0647, 2.37086, 2.63295, + 0.219318, 0.301481, 0.513617, 0.765086, 1.02602, 1.51465, 2.0482, 2.24857, 2.49981, 2.65707, + 0.232695, 0.347947, 0.495203, 0.71883, 1.42301, 1.72249, 1.87958, 2.16504, 2.42025, 2.58966, + 0.270284, 0.336865, 0.684929, 1.15579, 1.69042, 1.87674, 2.02736, 2.22618, 2.44675, 2.582, + 0.149701, 0.193747, 0.352019, 0.520123, 0.823974, 1.43475, 1.68659, 1.96115, 2.37091, 2.69307, + 0.254818, 0.412303, 0.601514, 0.771438, 1.17545, 1.37657, 1.53903, 1.93704, 2.40858, 2.56362, + 0.233713, 0.355886, 0.593725, 0.76288, 1.27148, 1.5639, 1.79752, 2.09469, 2.53863, 2.71173, + 0.179028, 0.237103, 0.396818, 1.04202, 1.63354, 1.76268, 2.12393, 2.32239, 2.58819, 2.75134, + 0.182027, 0.251039, 0.434581, 0.714302, 0.950997, 1.4379, 1.81357, 1.9691, 2.14588, 2.35397, + 0.501538, 0.692148, 0.84886, 1.07131, 1.35054, 1.48948, 1.84164, 2.10428, 2.34154, 2.51529, + 0.27453, 0.38147, 0.526682, 0.922143, 1.44495, 1.5736, 1.85877, 2.06675, 2.2848, 2.62682, + 0.360617, 0.583131, 0.979491, 1.25408, 1.48835, 1.79756, 2.21952, 2.48218, 2.74237, 2.86203, + 0.140913, 0.220301, 0.619552, 0.818307, 1.05243, 1.33997, 1.83073, 2.13395, 2.53638, 2.75113, + 0.293514, 0.391691, 0.79008, 0.96274, 1.16032, 1.5266, 1.80549, 2.04146, 2.36162, 2.56496, + 0.199542, 0.290571, 0.452891, 0.689515, 1.25853, 1.40988, 1.88624, 2.22813, 2.46568, 2.72665, + 0.29692, 0.356356, 0.784287, 0.99654, 1.14618, 1.62387, 1.8155, 2.0383, 2.60063, 2.7057, + 0.206451, 0.276025, 0.537547, 0.802572, 1.22041, 1.64206, 1.86363, 2.00198, 2.21534, 2.58538, + 0.33365, 0.464751, 0.653772, 0.966306, 1.10387, 1.3402, 1.7847, 1.91459, 2.47017, 2.68692, + 0.181861, 0.24487, 0.376456, 0.554383, 1.3299, 1.81044, 2.04784, 2.20232, 2.66086, 2.81706, + 0.450565, 0.647291, 0.951172, 1.22943, 1.51964, 1.68681, 2.04911, 2.26717, 2.50128, 2.6506, + 0.219996, 0.320591, 0.427747, 0.601183, 0.753448, 0.929578, 1.74198, 2.28579, 2.47263, 2.74957, + 0.333848, 0.423373, 0.658791, 1.0313, 1.22263, 1.36577, 1.90189, 2.1211, 2.29031, 2.53118, + 0.166064, 0.233902, 0.383355, 0.661806, 1.22657, 1.39968, 1.77127, 1.97454, 2.17349, 2.56634, + 0.189286, 0.243602, 0.390584, 1.38793, 1.58872, 1.76324, 2.09112, 2.31631, 2.59353, 2.75508, + 0.158404, 0.224878, 0.385, 0.668463, 0.942954, 1.41197, 1.70031, 1.82807, 2.0594, 2.69255, + 0.325989, 0.461263, 0.851471, 1.04571, 1.28403, 1.5162, 1.79734, 2.08839, 2.43767, 2.62721, + 0.223709, 0.28919, 0.632812, 0.858738, 1.5419, 1.74677, 1.93574, 2.18482, 2.40433, 2.58301, + 0.545842, 0.95242, 1.34082, 1.51684, 1.83888, 2.01289, 2.24497, 2.40317, 2.59228, 2.69112, + 0.238526, 0.349079, 0.494582, 0.987665, 1.17075, 1.34823, 1.46864, 2.29696, 2.64416, 2.78738, + 0.270857, 0.442003, 0.655998, 0.881913, 1.25925, 1.42836, 1.76987, 1.99853, 2.39559, 2.65284, + 0.154384, 0.211806, 0.489481, 0.997257, 1.24982, 1.54123, 1.77886, 1.9494, 2.31914, 2.62339, + 0.268258, 0.312888, 0.589114, 1.25863, 1.57271, 1.67543, 1.91278, 2.07046, 2.27993, 2.56423, + 0.170715, 0.224965, 0.374011, 0.540197, 1.16189, 1.49907, 1.92587, 2.08257, 2.24662, 2.46972, + 0.324358, 0.391989, 0.706816, 0.833614, 1.01573, 1.56899, 1.73598, 2.12707, 2.55841, 2.65387, + 0.178059, 0.258575, 0.374125, 0.536831, 1.33483, 1.79863, 1.98698, 2.18925, 2.43227, 2.6267, + 0.198857, 0.420955, 0.817664, 1.17836, 1.46674, 1.8213, 2.20733, 2.47441, 2.73828, 2.85119, + 0.188344, 0.324302, 0.470468, 0.790033, 0.934101, 1.18872, 1.88717, 2.05283, 2.44832, 2.63024, + 0.201295, 0.365646, 0.526513, 0.758388, 1.1401, 1.26733, 1.65017, 1.87934, 2.10289, 2.60029, + 0.135058, 0.169428, 0.307348, 0.50316, 1.01808, 1.44795, 1.81098, 2.134, 2.48028, 2.75985, + 0.178006, 0.26661, 0.390327, 0.928681, 1.50161, 1.62133, 1.87136, 2.02586, 2.58044, 2.7708, + 0.246182, 0.42429, 0.644023, 0.801168, 1.11488, 1.27776, 1.50332, 2.07489, 2.2957, 2.50138, + 0.322996, 0.430355, 0.6316, 1.0477, 1.22184, 1.42673, 1.90308, 2.03222, 2.51673, 2.70845, + 0.292994, 0.430599, 0.619178, 0.794567, 1.28303, 1.65282, 1.84084, 2.06995, 2.38538, 2.52825, + 0.525494, 0.787797, 1.12182, 1.38748, 1.67457, 1.93622, 2.22404, 2.39062, 2.63428, 2.74323, + 0.299504, 0.409196, 0.602235, 0.892336, 1.05643, 1.25377, 1.48914, 1.63988, 2.42748, 2.65037, + 0.423758, 0.52048, 0.758987, 1.04126, 1.17366, 1.42368, 1.81824, 1.93641, 2.363, 2.62664, + 0.155042, 0.247496, 0.641445, 0.954509, 1.22497, 1.46585, 1.83784, 2.09046, 2.4515, 2.71616, + 0.251949, 0.421094, 0.706797, 0.975659, 1.25991, 1.52007, 1.81631, 2.12202, 2.47491, 2.71667, + 0.21522, 0.302248, 0.730598, 0.896343, 1.14557, 1.37019, 1.70069, 2.02256, 2.28327, 2.48922, + 0.28523, 0.453559, 0.66367, 0.861526, 1.0116, 1.24742, 1.65598, 1.86129, 2.57894, 2.73133, + 0.162067, 0.219409, 0.373433, 0.544669, 1.1033, 1.59718, 1.92104, 2.1434, 2.4065, 2.66048, + 0.342367, 0.511499, 0.93135, 1.16322, 1.39365, 1.61115, 1.97277, 2.19442, 2.47077, 2.64926, + 0.25101, 0.364125, 0.560956, 0.746545, 1.01984, 1.17072, 1.53295, 2.28867, 2.57709, 2.72307, + 0.315001, 0.489412, 0.720682, 0.877607, 1.09047, 1.25385, 1.44822, 1.92295, 2.25589, 2.40863, + 0.174666, 0.235793, 0.387644, 0.554402, 1.23109, 1.45614, 1.68803, 2.12745, 2.36703, 2.59727, + 0.215113, 0.341915, 1.04372, 1.32275, 1.49541, 1.74189, 1.96116, 2.23982, 2.5449, 2.70394, + 0.219852, 0.30177, 0.513912, 0.705474, 0.87754, 1.2959, 1.699, 1.98706, 2.28797, 2.49697, + 0.290638, 0.366442, 0.655155, 1.04499, 1.17215, 1.53254, 1.80079, 1.94893, 2.50968, 2.66005, + 0.232252, 0.31377, 0.658552, 0.941977, 1.46317, 1.66549, 1.86246, 2.02784, 2.53402, 2.70124, + 0.326539, 0.552681, 1.12173, 1.33138, 1.52007, 1.86708, 2.08286, 2.33247, 2.60604, 2.73709, + 0.190254, 0.340428, 0.492777, 0.739738, 0.895461, 1.07937, 1.64316, 1.79529, 2.49182, 2.72938, + 0.283586, 0.41844, 0.587306, 0.870866, 1.41855, 1.57703, 1.7995, 2.0694, 2.27448, 2.4381, + 0.235752, 0.35765, 0.502891, 1.01243, 1.25885, 1.40779, 1.82006, 1.95583, 2.5059, 2.73433, + 0.278412, 0.343137, 0.849977, 1.2329, 1.3505, 1.59063, 1.78752, 2.09158, 2.54136, 2.66386, + 0.162966, 0.243159, 0.439238, 0.684821, 0.887783, 1.4629, 1.88174, 2.04425, 2.28939, 2.705, + 0.235063, 0.371799, 0.57821, 0.752199, 1.00855, 1.47628, 1.80491, 2.2714, 2.65504, 2.78965, + 0.154939, 0.223696, 0.344718, 0.667555, 1.49566, 1.66944, 2.06988, 2.30721, 2.62769, 2.81134, + 0.239702, 0.335917, 0.716616, 1.1318, 1.45251, 1.63913, 2.10552, 2.27982, 2.50203, 2.66922, + 0.226818, 0.331261, 0.472705, 0.651974, 0.781639, 1.2198, 1.8229, 2.08273, 2.43933, 2.6109, + 0.223413, 0.359594, 0.534704, 0.741518, 1.22589, 1.38987, 1.61819, 2.00991, 2.207, 2.45984, + 0.171308, 0.268378, 0.383799, 0.858926, 1.37629, 1.51917, 1.7806, 1.92291, 2.62309, 2.8024, + 0.140134, 0.21232, 0.443224, 0.967457, 1.26424, 1.56215, 1.92915, 2.21739, 2.66834, 2.83075, + 0.221323, 0.322124, 0.485563, 0.818589, 1.01184, 1.19898, 1.42362, 1.6694, 2.15752, 2.36319, + 0.369687, 0.525655, 0.719213, 0.939654, 1.13763, 1.31222, 1.59994, 1.82681, 2.35522, 2.58068, + 0.211975, 0.314411, 0.489148, 0.739213, 1.3778, 1.5545, 1.82437, 2.15887, 2.35299, 2.72262, + 0.170698, 0.296368, 0.934285, 1.24313, 1.5559, 1.86654, 2.15994, 2.36344, 2.58503, 2.73853, + 0.189263, 0.305887, 0.439912, 0.78461, 1.22726, 1.34251, 1.58765, 1.75491, 2.43989, 2.72131, + 0.296339, 0.385169, 0.612012, 1.08132, 1.27636, 1.43718, 1.87147, 2.00172, 2.33909, 2.64022, + 0.229588, 0.320544, 0.517278, 0.969137, 1.14256, 1.62609, 1.87792, 2.11546, 2.54674, 2.70802, + 0.248869, 0.420193, 0.732388, 1.04902, 1.30341, 1.60146, 1.94921, 2.23946, 2.64822, 2.82261, + 0.2076, 0.29232, 0.496539, 0.857149, 1.18229, 1.39985, 1.71416, 1.86824, 2.02794, 2.20074, + 0.225558, 0.396897, 0.541783, 0.873366, 1.17897, 1.29958, 1.67719, 1.8496, 2.33048, 2.75272, + 0.176821, 0.231377, 0.372767, 0.508565, 1.15282, 1.80805, 2.11268, 2.25007, 2.57134, 2.74855, + 0.352149, 0.515765, 1.02324, 1.26022, 1.44357, 1.62207, 1.8728, 2.10018, 2.48928, 2.67104, + 0.166138, 0.263444, 0.370151, 0.590066, 0.754819, 0.940533, 1.76187, 1.94661, 2.44501, 2.75819, + 0.342082, 0.476411, 0.656223, 0.851774, 1.00399, 1.15337, 1.6944, 2.06562, 2.25564, 2.44015, + 0.227237, 0.376514, 0.514329, 0.894887, 1.14167, 1.28305, 1.83138, 1.9859, 2.33447, 2.78488, + 0.215891, 0.269548, 0.684111, 1.40566, 1.67481, 1.80093, 2.17209, 2.3394, 2.59157, 2.7301, + 0.23624, 0.400377, 0.533684, 0.750343, 0.910405, 1.08911, 1.73773, 1.91281, 2.19252, 2.68873, + 0.169242, 0.284879, 0.916252, 1.16977, 1.43368, 1.64438, 1.91912, 2.16162, 2.48266, 2.68259, + 0.270731, 0.336506, 0.477594, 1.04271, 1.60584, 1.79686, 1.94591, 2.16004, 2.35491, 2.52095, + 0.420586, 0.652563, 1.11716, 1.40601, 1.74754, 1.94742, 2.20309, 2.35997, 2.5479, 2.68217, + 0.281552, 0.395037, 0.640181, 0.944531, 1.19396, 1.33049, 1.71866, 2.18839, 2.44459, 2.57867, + 0.311824, 0.476892, 0.633431, 0.845825, 1.33252, 1.49166, 1.69361, 2.04108, 2.28932, 2.4394, + 0.133945, 0.20079, 0.647237, 0.927687, 1.18888, 1.36966, 1.69956, 1.97278, 2.29526, 2.67818, + 0.204796, 0.278215, 0.443465, 1.27048, 1.40521, 1.64092, 1.82425, 2.32709, 2.59964, 2.77253, + 0.18397, 0.244116, 0.410594, 0.639103, 1.22159, 1.40487, 1.62836, 1.90244, 2.16863, 2.3068, + 0.343622, 0.434735, 0.666599, 0.868069, 1.04894, 1.53278, 1.81983, 1.97188, 2.2887, 2.44875, + 0.238017, 0.320361, 0.657255, 0.917611, 1.30331, 1.72736, 1.98891, 2.18145, 2.44297, 2.61332, + 0.323613, 0.545056, 0.930173, 1.22606, 1.44018, 1.7723, 2.05689, 2.34781, 2.68938, 2.82062, + 0.28893, 0.401387, 0.617124, 0.836453, 0.990306, 1.26123, 1.91328, 2.11005, 2.32458, 2.55716, + 0.33267, 0.480804, 0.656147, 0.880536, 1.02957, 1.23049, 1.76906, 1.9323, 2.20037, 2.58521, + 0.185551, 0.265352, 0.409432, 0.608847, 1.0347, 1.22282, 1.87697, 2.17165, 2.4035, 2.66644, + 0.155026, 0.223348, 0.401684, 1.07914, 1.41579, 1.62002, 2.04552, 2.25851, 2.63162, 2.80229, + 0.183461, 0.263081, 0.425694, 0.635685, 1.18866, 1.35756, 1.57499, 2.08598, 2.28872, 2.51111, + 0.314738, 0.463011, 0.648733, 0.877651, 1.00289, 1.26581, 2.00541, 2.1981, 2.48153, 2.71418, + 0.244411, 0.318444, 0.546578, 0.793615, 1.32615, 1.73548, 1.9456, 2.11466, 2.31535, 2.47853, + 0.326237, 0.54354, 0.987361, 1.30441, 1.68493, 1.90215, 2.20717, 2.37427, 2.55753, 2.71622, + 0.157795, 0.283302, 0.430398, 0.660379, 0.81106, 1.14254, 1.4793, 1.71871, 2.67026, 2.84756, + 0.220856, 0.283872, 0.779935, 1.07494, 1.31221, 1.62633, 1.83761, 1.96888, 2.15599, 2.60238, + 0.140763, 0.205719, 0.406561, 0.762459, 1.04127, 1.48699, 1.83831, 2.11461, 2.55281, 2.77228, + 0.140451, 0.39592, 0.79211, 1.108, 1.40264, 1.62308, 1.94315, 2.22795, 2.54616, 2.774, + 0.229862, 0.336462, 0.54659, 0.81015, 1.20191, 1.34679, 1.82532, 2.09293, 2.28573, 2.47336, + 0.224913, 0.328246, 0.517269, 0.874793, 1.01259, 1.45218, 1.69578, 2.01493, 2.51145, 2.67257, + 0.247745, 0.335741, 0.546558, 0.710177, 1.17056, 1.72779, 1.97068, 2.15853, 2.48282, 2.62891, + 0.398252, 0.555087, 0.890367, 1.1212, 1.38153, 1.60123, 1.86665, 2.06661, 2.40516, 2.58802, + 0.198563, 0.288867, 0.478054, 0.658477, 0.851841, 1.0271, 1.53974, 2.02111, 2.57946, 2.78418, + 0.304271, 0.371642, 0.66159, 1.06898, 1.22425, 1.41193, 1.68052, 1.86977, 2.10007, 2.30855, + 0.188223, 0.257939, 0.432402, 0.73505, 1.31804, 1.48553, 1.82811, 2.04644, 2.30702, 2.45724, + 0.246723, 0.297276, 0.604475, 1.3109, 1.57044, 1.68885, 1.91366, 2.05133, 2.55601, 2.71497, + 0.158309, 0.234509, 0.435792, 0.6679, 0.957567, 1.23592, 1.59294, 1.81816, 2.30739, 2.76897, + 0.419843, 0.501412, 0.766892, 1.07317, 1.18937, 1.48022, 1.7666, 1.92215, 2.53794, 2.69477, + 0.27514, 0.335563, 0.678421, 1.08152, 1.59238, 1.77263, 1.93124, 2.1407, 2.3338, 2.49086, + 0.372056, 0.856814, 1.23954, 1.40999, 1.6903, 1.86302, 2.0727, 2.27355, 2.53266, 2.69052, + 0.321254, 0.422981, 0.604856, 0.793437, 0.912112, 1.12845, 1.79598, 2.17323, 2.36015, 2.53614, + 0.395214, 0.598779, 0.771997, 0.946713, 1.21378, 1.33043, 1.66033, 1.97715, 2.16506, 2.34402, + 0.225286, 0.317828, 0.464801, 1.11233, 1.36951, 1.512, 1.92195, 2.05341, 2.59352, 2.77729, + 0.330612, 0.407807, 0.730129, 1.25973, 1.45981, 1.60567, 1.98131, 2.13701, 2.46597, 2.67972, + 0.213145, 0.305305, 0.507016, 0.662299, 1.05685, 1.47986, 1.6719, 2.10271, 2.36987, 2.58199, + 0.219658, 0.296096, 0.443507, 0.610973, 0.799691, 1.67658, 1.96549, 2.15323, 2.50223, 2.693, + 0.174947, 0.257739, 0.373547, 0.552567, 1.40532, 1.61425, 1.84892, 2.11779, 2.31788, 2.7119, + 0.209667, 0.297529, 0.756195, 1.0953, 1.5642, 1.84477, 2.1037, 2.29266, 2.52005, 2.67949, + 0.170138, 0.24031, 0.452247, 0.684414, 0.880102, 1.36692, 1.74165, 2.13129, 2.50573, 2.73261, + 0.278164, 0.468635, 0.707518, 0.853693, 1.05478, 1.21046, 1.54094, 2.17456, 2.41066, 2.61214, + 0.155738, 0.23889, 0.352836, 0.621012, 1.44144, 1.6197, 1.82517, 1.97533, 2.52537, 2.74857, + 0.223776, 0.274424, 0.479048, 0.797871, 1.69419, 1.87813, 2.13528, 2.37373, 2.59542, 2.72979, + 0.151088, 0.198286, 0.326558, 0.536276, 0.845893, 1.14165, 1.46056, 1.76287, 2.02585, 2.1773, + 0.434445, 0.614208, 0.887657, 1.02845, 1.19136, 1.3922, 1.78689, 2.06248, 2.4234, 2.61936, + 0.180755, 0.275311, 0.397787, 0.859366, 1.40976, 1.52332, 1.90885, 2.08232, 2.38972, 2.74389, + 0.275975, 0.508416, 0.889894, 1.31893, 1.63331, 1.90473, 2.16901, 2.37466, 2.72697, 2.84767, + 0.156239, 0.262624, 0.406657, 0.739074, 1.04449, 1.20123, 1.81089, 2.0056, 2.5817, 2.80489, + 0.195391, 0.258771, 0.654924, 0.824371, 1.31526, 1.50073, 1.76594, 2.06399, 2.34118, 2.51366, + 0.178034, 0.301047, 0.46302, 0.716172, 1.19887, 1.34045, 1.83456, 2.02213, 2.40075, 2.77629, + 0.340368, 0.404236, 0.843747, 1.03924, 1.20211, 1.70805, 1.91495, 2.16951, 2.52152, 2.62335, + 0.218465, 0.289694, 0.528045, 0.817051, 1.13234, 1.58046, 1.83889, 1.98339, 2.14749, 2.34813, + 0.322509, 0.458058, 0.654679, 0.958976, 1.11821, 1.32157, 1.90139, 2.04641, 2.36093, 2.66422, + 0.191821, 0.252321, 0.389176, 0.581111, 1.52967, 1.93169, 2.08361, 2.27046, 2.56685, 2.71388, + 0.493961, 0.710827, 0.98226, 1.19627, 1.41933, 1.62091, 1.92801, 2.14565, 2.42977, 2.60197, + 0.213148, 0.311589, 0.424636, 0.602664, 0.736895, 1.02216, 1.99228, 2.21853, 2.61163, 2.85032, + 0.288129, 0.434441, 0.629313, 0.856153, 1.28967, 1.42452, 1.8758, 2.15024, 2.35181, 2.53684, + 0.160031, 0.230716, 0.406654, 0.870424, 1.15652, 1.39232, 1.8041, 1.95144, 2.21048, 2.73516, + 0.22934, 0.293962, 0.503222, 1.2421, 1.47582, 1.62465, 1.99868, 2.1445, 2.57855, 2.75327, + 0.15877, 0.220035, 0.363386, 0.577761, 0.96309, 1.17494, 1.73817, 1.9792, 2.16244, 2.66192, + 0.346062, 0.444816, 0.716985, 1.18072, 1.37058, 1.523, 1.89217, 2.06668, 2.3958, 2.62766, + 0.307495, 0.38933, 0.612607, 0.969283, 1.55771, 1.83994, 1.99674, 2.17238, 2.42063, 2.5392, + 0.437804, 0.726957, 1.29117, 1.5033, 1.76543, 1.96212, 2.16365, 2.33623, 2.57962, 2.70852, + 0.232184, 0.333678, 0.528368, 0.706749, 1.20328, 1.37902, 1.61116, 2.15468, 2.5929, 2.75032, + 0.272652, 0.46171, 0.625777, 0.839609, 1.34202, 1.49673, 1.71538, 2.13757, 2.37004, 2.59739, + 0.184908, 0.302324, 0.454883, 0.880307, 1.10438, 1.29253, 1.7772, 1.94336, 2.44417, 2.62273, + 0.265644, 0.341261, 0.553228, 1.13947, 1.42715, 1.56044, 1.93394, 2.08413, 2.39331, 2.65413, + 0.16792, 0.207301, 0.370331, 0.525538, 1.03089, 1.36816, 1.78247, 2.0624, 2.33276, 2.5263, + 0.343172, 0.433912, 0.717501, 0.889734, 1.05206, 1.69528, 2.05316, 2.20846, 2.60887, 2.71832, + 0.216527, 0.305247, 0.44589, 0.729271, 1.63974, 1.90328, 2.05335, 2.22125, 2.43225, 2.56802, + 0.110545, 0.209955, 0.844788, 1.1742, 1.4922, 1.81024, 2.17727, 2.4405, 2.69729, 2.83523, + 0.217384, 0.337412, 0.488999, 0.761842, 0.879715, 1.20953, 1.97075, 2.1208, 2.61165, 2.79176, + 0.190459, 0.296484, 0.469967, 0.800649, 1.10556, 1.27853, 1.51694, 1.69307, 2.11442, 2.71674, + 0.134814, 0.175978, 0.300425, 0.496817, 1.2443, 1.48531, 1.86172, 2.13123, 2.48505, 2.77388, + 0.210174, 0.278266, 0.435508, 0.927538, 1.60691, 1.7539, 1.95755, 2.16628, 2.39852, 2.74961, + 0.213766, 0.3153, 0.509924, 0.70993, 0.964724, 1.10678, 1.38261, 2.00107, 2.32321, 2.56531, + 0.400615, 0.524954, 0.798552, 1.01285, 1.13549, 1.47485, 1.98903, 2.13091, 2.50797, 2.67946, + 0.2494, 0.377023, 0.519635, 0.754227, 1.45956, 1.64276, 1.82896, 2.07788, 2.29823, 2.46753, + 0.473365, 0.683973, 1.05234, 1.37583, 1.54811, 1.74759, 2.1393, 2.31877, 2.60998, 2.73925, + 0.203877, 0.341791, 0.48518, 0.884069, 1.09759, 1.26953, 1.47992, 1.75788, 2.6484, 2.82239, + 0.273046, 0.404254, 0.555403, 0.954547, 1.29123, 1.39902, 1.72289, 1.90344, 2.17198, 2.64531, + 0.040369, 0.117266, 0.617136, 0.892043, 1.26033, 1.54165, 1.85938, 2.1531, 2.49823, 2.76189, + 0.132414, 0.211358, 0.742445, 1.06686, 1.33108, 1.57079, 1.86746, 2.13253, 2.47962, 2.73108, + 0.237329, 0.326529, 0.612538, 0.790663, 0.990133, 1.41374, 1.73823, 1.93691, 2.16773, 2.45163, + 0.27396, 0.405794, 0.57253, 0.933672, 1.05782, 1.39795, 1.85653, 1.99755, 2.59949, 2.76004, + 0.199334, 0.29838, 0.442931, 0.628638, 1.30321, 1.64014, 1.80402, 2.11302, 2.37545, 2.54895, + 0.350188, 0.50201, 0.821298, 1.03864, 1.36929, 1.5924, 1.91082, 2.15649, 2.46051, 2.65326, + 0.281558, 0.399892, 0.573105, 0.753299, 0.900613, 1.05457, 1.58199, 2.17844, 2.43035, 2.61604, + 0.344653, 0.543532, 0.703715, 0.862285, 1.19822, 1.33821, 1.57908, 2.06077, 2.30675, 2.48575, + 0.220701, 0.326795, 0.520618, 0.755133, 1.29555, 1.45189, 1.6905, 2.20005, 2.41427, 2.61591, + 0.279478, 0.332193, 0.801527, 1.34597, 1.48748, 1.6785, 1.9222, 2.10002, 2.58557, 2.71339, + 0.163502, 0.212169, 0.365096, 0.525464, 0.869846, 1.20881, 1.79399, 2.04031, 2.29718, 2.4698, + 0.285531, 0.341488, 0.754059, 1.17002, 1.30084, 1.5137, 1.69986, 1.88992, 2.58146, 2.70687, + 0.249595, 0.366997, 0.626427, 0.945219, 1.40704, 1.56056, 1.83166, 2.23115, 2.46635, 2.65452, + 0.271671, 0.443136, 1.15641, 1.40646, 1.67652, 1.85648, 2.06322, 2.2305, 2.47584, 2.63958, + 0.28662, 0.427806, 0.63732, 0.803409, 0.996161, 1.26638, 1.68175, 2.00397, 2.39465, 2.58855, + 0.314906, 0.440519, 0.612129, 0.896126, 1.47241, 1.71769, 1.88135, 2.09944, 2.36917, 2.49547, + 0.170277, 0.25127, 0.405477, 0.915641, 1.12689, 1.43663, 1.71477, 1.8932, 2.55299, 2.73852, + 0.27941, 0.337137, 0.734563, 1.28105, 1.4806, 1.61188, 1.85321, 1.99488, 2.41605, 2.65483, + 0.165776, 0.226083, 0.417544, 0.744574, 1.04447, 1.53489, 1.80849, 1.94495, 2.13849, 2.60179, + 0.264579, 0.336652, 0.542033, 0.71019, 0.913338, 1.65575, 1.81776, 2.23196, 2.52444, 2.65852, + 0.158194, 0.235588, 0.338347, 0.541657, 1.58338, 1.76629, 2.00914, 2.24334, 2.50394, 2.77516, + 0.332612, 0.50962, 0.822935, 1.07588, 1.45429, 1.65079, 1.97445, 2.25128, 2.53734, 2.74512, + 0.262817, 0.359709, 0.520893, 0.707667, 0.818364, 1.43885, 1.97125, 2.08767, 2.49701, 2.64644, + 0.2332, 0.399599, 0.612456, 0.775547, 1.19919, 1.35576, 1.6469, 2.13625, 2.34249, 2.69574, + 0.149687, 0.238538, 0.372248, 0.63452, 1.25581, 1.43379, 1.77004, 1.92875, 2.61191, 2.82493, + 0.137016, 0.210297, 0.591489, 1.12545, 1.37565, 1.6853, 2.08961, 2.39089, 2.70446, 2.84443, + 0.21349, 0.341024, 0.541716, 0.750061, 1.0882, 1.24458, 1.55534, 1.96557, 2.1879, 2.38371, + 0.300159, 0.489291, 0.825022, 1.0371, 1.19409, 1.34738, 1.68475, 2.02494, 2.46561, 2.74097, + 0.170029, 0.255033, 0.392758, 0.727117, 1.38207, 1.57968, 1.80091, 1.95907, 2.28234, 2.7288, + 0.175883, 0.365509, 1.11217, 1.38587, 1.72039, 1.97781, 2.2453, 2.42161, 2.62957, 2.754, + 0.16259, 0.248164, 0.45463, 0.763209, 0.966031, 1.28234, 1.73074, 1.93805, 2.47938, 2.66756, + 0.258043, 0.345866, 0.55652, 0.981312, 1.36153, 1.48238, 1.87224, 2.15823, 2.36227, 2.55503, + 0.234139, 0.348843, 0.528234, 0.987884, 1.19522, 1.42215, 1.96003, 2.12737, 2.60332, 2.793, + 0.179699, 0.559209, 0.867682, 1.08884, 1.31689, 1.5715, 1.9222, 2.19739, 2.50112, 2.72868, + 0.216784, 0.310791, 0.487492, 0.932903, 1.20195, 1.36655, 1.8004, 1.9775, 2.17426, 2.53707, + 0.186878, 0.400655, 0.580952, 0.846287, 1.10387, 1.26678, 1.84277, 2.01959, 2.488, 2.71722, + 0.164641, 0.248712, 0.389358, 0.772822, 1.21256, 1.36992, 2.02587, 2.27762, 2.61752, 2.80953, + 0.351899, 0.520326, 0.926597, 1.21965, 1.50984, 1.67684, 1.92174, 2.11125, 2.35638, 2.54593, + 0.242182, 0.365285, 0.506156, 0.71602, 0.865221, 1.01169, 1.78692, 2.12298, 2.35088, 2.76773, + 0.413776, 0.559566, 0.7358, 0.928997, 1.07912, 1.26718, 1.88007, 2.15249, 2.32483, 2.53986, + 0.210597, 0.329568, 0.469735, 0.78859, 1.21549, 1.31981, 1.71146, 2.05899, 2.24544, 2.65373, + 0.197937, 0.254148, 0.477985, 1.22709, 1.62992, 1.76743, 2.18698, 2.3851, 2.59487, 2.72554, + 0.205489, 0.333855, 0.523915, 0.706275, 1.10215, 1.24661, 1.6489, 2.02683, 2.28169, 2.75931, + 0.230328, 0.322431, 0.861834, 1.14561, 1.34721, 1.57611, 1.80728, 2.00482, 2.35437, 2.57225, + 0.224898, 0.282022, 0.506636, 1.1523, 1.62656, 1.75209, 2.02818, 2.21882, 2.48896, 2.67046, + 0.313732, 0.625469, 1.16447, 1.49908, 1.74961, 2.01853, 2.26223, 2.4296, 2.69216, 2.8225, + 0.375623, 0.575307, 0.7912, 0.93577, 1.09694, 1.34339, 1.80799, 2.18731, 2.51972, 2.6948, + 0.236981, 0.332412, 0.47927, 0.844461, 1.34764, 1.49073, 1.68394, 2.03914, 2.29762, 2.45843, + 0.129047, 0.20625, 0.636751, 0.865101, 1.13689, 1.35661, 1.7048, 1.91668, 2.51836, 2.75632, + 0.195171, 0.266517, 0.414793, 1.23956, 1.45291, 1.60836, 1.83305, 2.0478, 2.47352, 2.62199, + 0.165853, 0.21272, 0.372757, 0.536136, 1.01394, 1.33963, 1.55512, 1.94574, 2.23628, 2.44095, + 0.256981, 0.368868, 0.635878, 0.802543, 1.08476, 1.43912, 1.81473, 2.12052, 2.45815, 2.62146, + 0.214382, 0.297135, 0.445091, 0.70205, 1.3651, 1.85126, 2.06703, 2.2073, 2.47073, 2.61243, + 0.34071, 0.532103, 0.935278, 1.17102, 1.37789, 1.6386, 1.96527, 2.24616, 2.63127, 2.80634, + 0.310524, 0.412051, 0.582478, 0.768755, 0.871594, 1.11985, 1.92635, 2.20751, 2.40709, 2.63663, + 0.249349, 0.443517, 0.631532, 0.810096, 1.20513, 1.35721, 1.6074, 1.98416, 2.20802, 2.64511, + 0.14309, 0.185312, 0.325214, 0.504, 1.13447, 1.32791, 1.67365, 2.0069, 2.38928, 2.74609, + 0.226575, 0.298946, 0.453938, 0.998061, 1.3946, 1.59728, 2.06418, 2.22325, 2.42547, 2.56946, + 0.183924, 0.255181, 0.415834, 0.624247, 1.04234, 1.20308, 1.55524, 2.12531, 2.40035, 2.66192, + 0.27561, 0.365968, 0.654909, 0.990108, 1.1708, 1.45533, 2.07756, 2.25267, 2.50232, 2.68595, + 0.204334, 0.287844, 0.39481, 0.761295, 1.5012, 1.78471, 1.93557, 2.15283, 2.34926, 2.54564, + 0.342976, 0.527539, 0.917466, 1.16059, 1.49953, 1.76183, 2.09527, 2.30187, 2.54057, 2.69469, + 0.202374, 0.333367, 0.480179, 0.708677, 0.819505, 1.10529, 1.80664, 1.95335, 2.61084, 2.7975, + 0.307033, 0.368471, 0.602486, 1.10861, 1.41335, 1.52864, 1.79852, 1.98614, 2.16905, 2.43726, + 0.144073, 0.196932, 0.386988, 0.819061, 1.28977, 1.62507, 1.90192, 2.13611, 2.48302, 2.70797, + 0.17676, 0.268627, 0.662082, 1.05687, 1.54797, 1.71139, 1.97294, 2.24991, 2.54447, 2.76109, + 0.191409, 0.292985, 0.492193, 0.800526, 1.04184, 1.27855, 1.83663, 2.02868, 2.24939, 2.62778, + 0.324102, 0.399146, 0.687435, 0.868704, 1.02296, 1.58208, 1.85385, 1.98188, 2.55491, 2.67706, + 0.229172, 0.302836, 0.481418, 0.704363, 0.967567, 1.82827, 2.0973, 2.25847, 2.54911, 2.70465, + 0.467124, 0.696788, 0.9395, 1.09499, 1.27754, 1.4885, 1.89628, 2.15847, 2.47418, 2.65999, + 0.175418, 0.234039, 0.367674, 0.513586, 0.747619, 1.0084, 1.58316, 2.05311, 2.36329, 2.68115, + 0.410273, 0.561949, 0.736215, 0.956685, 1.13569, 1.28842, 1.75061, 1.93771, 2.15132, 2.48934, + 0.204541, 0.277613, 0.529607, 0.722971, 1.19998, 1.44734, 1.71563, 1.92105, 2.35778, 2.50749, + 0.253116, 0.311907, 0.696982, 1.32008, 1.57542, 1.70532, 2.00507, 2.16867, 2.46188, 2.66505, + 0.163657, 0.237902, 0.393374, 0.60949, 0.854272, 1.08998, 1.52639, 1.84234, 2.12625, 2.67905, + 0.448627, 0.530664, 0.812719, 1.0952, 1.20764, 1.57541, 1.88421, 2.0343, 2.55301, 2.68835, + 0.262717, 0.338748, 0.512685, 1.00354, 1.48018, 1.62208, 1.82852, 2.14242, 2.35646, 2.51153, + 0.417111, 0.636688, 1.03657, 1.31988, 1.67992, 1.87339, 2.07372, 2.2494, 2.50773, 2.65105, + 0.263698, 0.461151, 0.618737, 0.830471, 1.00404, 1.15887, 1.80157, 2.02022, 2.30656, 2.74304, + 0.387779, 0.575108, 0.729791, 0.932981, 1.36116, 1.50516, 1.75118, 2.06847, 2.33826, 2.48764, + 0.18151, 0.265666, 0.454631, 1.08238, 1.2873, 1.5792, 1.85118, 2.09696, 2.46724, 2.64693, + 0.277668, 0.345119, 0.602341, 1.1792, 1.37899, 1.54562, 1.81386, 1.96259, 2.4918, 2.66445, + 0.17932, 0.24808, 0.456925, 0.722589, 1.12693, 1.57945, 1.7994, 1.95067, 2.48412, 2.70724, + 0.314322, 0.381145, 0.608651, 0.727613, 0.890472, 1.61028, 2.13617, 2.25836, 2.59638, 2.70978, + 0.189539, 0.266068, 0.419729, 0.651693, 1.41016, 1.64311, 1.85481, 2.27558, 2.49205, 2.72201, + 0.254466, 0.313038, 0.594149, 1.01254, 1.68881, 1.93546, 2.11918, 2.28787, 2.53554, 2.66793, + 0.134691, 0.171906, 0.30274, 0.492936, 0.899551, 1.22919, 1.73394, 2.01288, 2.44634, 2.74276, + 0.231556, 0.365068, 0.680761, 0.889142, 1.11134, 1.2959, 1.54264, 1.97178, 2.42756, 2.63191, + 0.222525, 0.305606, 0.527193, 0.687519, 1.18138, 1.67176, 1.86368, 2.07202, 2.63452, 2.77927, + 0.17877, 0.237415, 0.37516, 0.856692, 1.67368, 1.81374, 2.01679, 2.27242, 2.5226, 2.73596, + 0.193532, 0.268731, 0.451328, 0.753471, 0.984854, 1.28535, 1.68565, 1.88412, 2.09168, 2.24342, + 0.476037, 0.65161, 0.801054, 1.01016, 1.24137, 1.35584, 1.77598, 2.08615, 2.27291, 2.45435, + 0.211657, 0.308331, 0.421366, 0.865966, 1.41877, 1.55674, 1.78615, 2.02033, 2.19859, 2.63198, + 0.203789, 0.490794, 1.01014, 1.27501, 1.47221, 1.81014, 2.17064, 2.43766, 2.66212, 2.78806, + 0.174355, 0.252095, 0.674715, 0.842194, 1.05509, 1.278, 1.69868, 2.07056, 2.39938, 2.65743, + 0.245109, 0.324049, 0.628822, 0.92791, 1.1236, 1.58007, 1.87864, 2.0546, 2.35872, 2.54684, + 0.182644, 0.253804, 0.386248, 0.614056, 1.36482, 1.54588, 2.04017, 2.21883, 2.41901, 2.62461, + 0.295605, 0.367794, 0.690701, 1.05516, 1.1866, 1.64445, 1.94415, 2.10144, 2.56212, 2.69127, + 0.220878, 0.289573, 0.640307, 0.822072, 1.14406, 1.5678, 1.76641, 1.90811, 2.10346, 2.56049, + 0.403453, 0.526298, 0.732204, 0.90115, 1.03587, 1.33938, 1.78399, 1.94196, 2.37103, 2.62665, + 0.212825, 0.25857, 0.471588, 0.685549, 1.26374, 1.82105, 2.16382, 2.2884, 2.62806, 2.78816, + 0.401181, 0.642053, 1.03247, 1.23611, 1.44445, 1.68668, 2.00672, 2.22851, 2.57211, 2.72396, + 0.239433, 0.341091, 0.492629, 0.70763, 0.881426, 1.03082, 1.71925, 2.34406, 2.57906, 2.75694, + 0.294093, 0.38277, 0.577412, 1.00928, 1.31304, 1.4193, 1.74467, 2.09423, 2.28904, 2.47584, + 0.169805, 0.236922, 0.403314, 0.638995, 1.17645, 1.35214, 1.66557, 1.90976, 2.15012, 2.71624, + 0.210447, 0.277913, 0.452474, 1.40269, 1.51343, 1.72094, 1.90394, 2.2785, 2.58376, 2.74318, + 0.159574, 0.225382, 0.374008, 0.714137, 1.01125, 1.37171, 1.69916, 1.87159, 2.02706, 2.49119, + 0.258602, 0.557253, 0.81972, 1.03886, 1.30147, 1.44536, 1.83061, 2.09817, 2.32081, 2.54107, + 0.232756, 0.282242, 0.631974, 0.898694, 1.53744, 1.86922, 2.06397, 2.23446, 2.49823, 2.63352, + 0.580133, 0.997946, 1.32096, 1.48187, 1.73161, 1.89858, 2.12071, 2.29013, 2.53009, 2.65166, + 0.21184, 0.307093, 0.45336, 0.945579, 1.25082, 1.49029, 1.72414, 2.2811, 2.5627, 2.7526, + 0.314276, 0.493555, 0.667782, 0.8965, 1.32301, 1.48262, 1.66749, 1.97441, 2.42735, 2.55568, + 0.182455, 0.261592, 0.418011, 1.05093, 1.26139, 1.44337, 1.66547, 1.93903, 2.44469, 2.63845, + 0.24157, 0.306934, 0.491293, 1.10595, 1.55483, 1.66652, 1.92392, 2.08765, 2.3676, 2.65489, + 0.190084, 0.25485, 0.454062, 0.724519, 1.08336, 1.39389, 1.89234, 2.08886, 2.32176, 2.4843, + 0.306497, 0.389831, 0.721793, 0.839714, 1.12475, 1.6524, 1.82292, 2.27331, 2.5692, 2.6696, + 0.1862, 0.27346, 0.383201, 0.564758, 1.51107, 1.84502, 1.99828, 2.1941, 2.38869, 2.58792, + 0.300722, 0.478218, 0.823364, 1.12749, 1.59114, 1.87135, 2.17472, 2.40318, 2.62478, 2.7824, + 0.228884, 0.358342, 0.504622, 0.795874, 1.00562, 1.15261, 1.90805, 2.12479, 2.37247, 2.79758, + 0.171885, 0.248234, 0.432842, 0.833143, 1.04089, 1.26929, 1.66164, 1.91863, 2.15896, 2.6534, + 0.140943, 0.193684, 0.343025, 0.562303, 1.06955, 1.54333, 1.82447, 1.96164, 2.46351, 2.77054, + 0.173053, 0.245656, 0.360656, 0.960618, 1.58953, 1.68991, 1.98414, 2.143, 2.58839, 2.7594, + 0.24018, 0.429951, 0.63744, 0.786596, 1.06915, 1.22657, 1.47088, 1.95205, 2.19506, 2.61597, + 0.367862, 0.471897, 0.730834, 1.08232, 1.22629, 1.46293, 1.92817, 2.05247, 2.40674, 2.66246, + 0.247175, 0.358209, 0.535946, 0.781876, 1.3637, 1.63524, 1.80723, 1.99378, 2.45277, 2.60104, + 0.445578, 0.687898, 1.11411, 1.30103, 1.5774, 1.88604, 2.2249, 2.43653, 2.65969, 2.76103, + 0.214389, 0.336025, 0.487794, 0.759534, 0.970518, 1.1411, 1.45733, 1.62464, 2.30692, 2.71527, + 0.3773, 0.466775, 0.716121, 1.08378, 1.25654, 1.41124, 1.78943, 1.93637, 2.20557, 2.56236, + 0.148362, 0.214593, 0.545023, 0.840437, 1.19333, 1.48066, 1.79187, 2.08342, 2.41054, 2.67613, + 0.150403, 0.278398, 0.792676, 0.97668, 1.21885, 1.40524, 1.77506, 2.16246, 2.54786, 2.74638, + 0.236301, 0.328633, 0.630867, 0.839915, 1.04235, 1.29887, 1.62775, 1.83949, 2.29893, 2.49396, + 0.337889, 0.49792, 0.711277, 0.85042, 0.992027, 1.24688, 1.71075, 2.08668, 2.52716, 2.70716, + 0.172215, 0.23654, 0.372897, 0.525146, 1.18258, 1.73573, 1.92703, 2.11462, 2.31917, 2.54278, + 0.415304, 0.624807, 0.906616, 1.11784, 1.44615, 1.66942, 1.94841, 2.17282, 2.50453, 2.67075, + 0.265417, 0.407241, 0.613894, 0.816534, 0.980063, 1.15606, 1.75675, 2.27485, 2.49719, 2.71224, + 0.27644, 0.468209, 0.649518, 0.816686, 1.19517, 1.35552, 1.54923, 1.93527, 2.21787, 2.42698, + 0.188925, 0.277012, 0.412665, 0.672627, 1.35481, 1.51452, 1.69999, 2.14455, 2.38219, 2.58608, + 0.24263, 0.352485, 0.912974, 1.34378, 1.60443, 1.80187, 2.01479, 2.19307, 2.46081, 2.632, + 0.190903, 0.285841, 0.44907, 0.760328, 0.954285, 1.18294, 1.69264, 1.87816, 2.27684, 2.46596, + 0.220659, 0.300374, 0.721694, 0.947306, 1.29833, 1.56298, 1.76062, 1.88825, 2.50644, 2.68968, + 0.213168, 0.290928, 0.695227, 0.918179, 1.37819, 1.63199, 1.84789, 2.00307, 2.35836, 2.61935, + 0.328586, 0.517244, 0.93732, 1.37624, 1.57484, 1.76435, 2.05863, 2.22433, 2.58444, 2.75665, + 0.248486, 0.367007, 0.562147, 0.750632, 0.902785, 1.14756, 1.63742, 1.91206, 2.41399, 2.6057, + 0.310691, 0.477895, 0.670796, 0.940507, 1.41829, 1.5635, 1.80514, 2.11408, 2.37636, 2.53516, + 0.256555, 0.41421, 0.559427, 0.981289, 1.19165, 1.37831, 1.6784, 1.84931, 2.5767, 2.75663, + 0.291424, 0.335003, 0.750149, 1.28965, 1.43721, 1.59999, 1.80318, 1.96741, 2.60175, 2.73376, + 0.195254, 0.279513, 0.451755, 0.649111, 0.828694, 1.60951, 1.91491, 2.09122, 2.31959, 2.5349, + 0.222304, 0.332624, 0.475678, 0.685205, 1.03033, 1.73722, 1.92098, 2.37829, 2.70672, 2.81773, + 0.164833, 0.240093, 0.359862, 0.801929, 1.51368, 1.64171, 2.04052, 2.24884, 2.48866, 2.71403, + 0.214777, 0.287322, 0.572644, 1.14507, 1.36711, 1.75269, 2.04242, 2.22207, 2.54305, 2.69789, + 0.226099, 0.330382, 0.474439, 0.687757, 0.799187, 1.31984, 1.94457, 2.0781, 2.3678, 2.50846, + 0.24454, 0.392163, 0.553692, 0.729765, 1.24786, 1.44838, 1.61759, 2.07464, 2.34005, 2.51806, + 0.175381, 0.314231, 0.446023, 0.797404, 1.32846, 1.43973, 1.79335, 1.93957, 2.4688, 2.72165, + 0.205808, 0.29367, 0.452447, 1.07427, 1.28823, 1.65563, 1.8575, 2.36469, 2.63981, 2.79814, + 0.253926, 0.392653, 0.587584, 0.800134, 0.97631, 1.18559, 1.57069, 1.82141, 2.09089, 2.34902, + 0.322461, 0.410912, 0.723569, 1.06064, 1.20152, 1.40036, 1.57919, 1.78876, 2.46024, 2.6166, + 0.211266, 0.304981, 0.436011, 0.771978, 1.49062, 1.67775, 1.88623, 2.1135, 2.32635, 2.72726, + 0.235012, 0.406911, 0.864785, 1.29148, 1.70829, 1.93855, 2.1799, 2.3524, 2.56379, 2.71145, + 0.176814, 0.26862, 0.445837, 0.823113, 1.02978, 1.27157, 1.62339, 1.81122, 2.40214, 2.61417, + 0.241865, 0.339268, 0.507509, 1.00368, 1.20435, 1.37256, 1.94079, 2.10137, 2.38561, 2.66998, + 0.230878, 0.334743, 0.50037, 0.879929, 1.02189, 1.53377, 1.97079, 2.12897, 2.56726, 2.71729, + 0.297505, 0.451574, 0.748848, 0.988527, 1.36624, 1.60667, 1.89466, 2.17448, 2.52143, 2.75917, + 0.199265, 0.271145, 0.49816, 0.854679, 1.1721, 1.36415, 1.76208, 1.96909, 2.17354, 2.31163, + 0.222173, 0.424864, 0.564942, 0.829809, 1.03817, 1.19405, 1.7206, 1.85809, 2.43176, 2.74146, + 0.181961, 0.226819, 0.390513, 0.556339, 1.0566, 1.55306, 2.12835, 2.25802, 2.6025, 2.80212, + 0.3576, 0.565047, 1.15301, 1.35031, 1.53358, 1.71854, 1.95789, 2.17535, 2.50565, 2.67849, + 0.162257, 0.236808, 0.374039, 0.570569, 0.748034, 1.17226, 1.82339, 2.05303, 2.51377, 2.77207, + 0.305794, 0.46587, 0.645121, 0.88265, 1.14129, 1.26686, 1.70158, 2.00288, 2.18412, 2.41125, + 0.231652, 0.380738, 0.549642, 0.83741, 1.22527, 1.33297, 1.85158, 2.11937, 2.31508, 2.73211, + 0.235449, 0.286771, 0.684809, 1.34666, 1.52663, 1.70348, 2.10149, 2.25455, 2.57718, 2.71899, + 0.23387, 0.446515, 0.60508, 0.814654, 1.05496, 1.1788, 1.63316, 1.84974, 2.13938, 2.73277, + 0.271706, 0.335152, 0.857227, 1.25374, 1.38719, 1.70217, 1.89677, 2.19111, 2.48, 2.60136, + 0.237386, 0.314549, 0.438339, 0.912164, 1.57776, 1.87779, 2.03279, 2.19704, 2.41232, 2.53648, + 0.361168, 0.574093, 1.02384, 1.46852, 1.69056, 1.91737, 2.18737, 2.33403, 2.6691, 2.80629, + 0.27848, 0.398742, 0.573342, 0.839212, 1.07389, 1.22209, 1.69168, 2.16526, 2.37741, 2.53688, + 0.286018, 0.447947, 0.61506, 0.849446, 1.31947, 1.46358, 1.76995, 2.00103, 2.18943, 2.45038, + 0.21944, 0.301601, 0.668534, 0.861094, 1.21, 1.49867, 1.74512, 1.87777, 2.31438, 2.6196, + 0.223591, 0.352153, 0.598841, 1.21789, 1.35908, 1.59174, 1.77109, 2.21386, 2.56154, 2.73542, + 0.176857, 0.236601, 0.395107, 0.634632, 1.13349, 1.33512, 1.77037, 1.98131, 2.20656, 2.33972, + 0.334735, 0.402265, 0.659168, 0.781639, 0.975228, 1.665, 1.87207, 2.04753, 2.47696, 2.57398, + 0.215968, 0.284755, 0.524241, 0.78146, 1.33481, 1.77238, 1.95388, 2.19421, 2.57825, 2.74194, + 0.298193, 0.489879, 0.812985, 1.18369, 1.49642, 1.67998, 2.10879, 2.31656, 2.67378, 2.85161, + 0.312989, 0.415446, 0.618011, 0.899096, 1.08368, 1.26338, 1.8874, 2.24306, 2.41945, 2.57048, + 0.244471, 0.431115, 0.601512, 0.813139, 1.10216, 1.22106, 1.69244, 2.03316, 2.2218, 2.61984, + 0.150949, 0.21906, 0.349217, 0.611327, 1.07711, 1.25055, 1.91552, 2.08398, 2.45, 2.79254, + 0.161611, 0.218964, 0.445377, 0.927863, 1.45115, 1.76846, 2.13001, 2.36672, 2.666, 2.81405, + 0.196, 0.297256, 0.497266, 0.6919, 1.08988, 1.27368, 1.51372, 2.00647, 2.27378, 2.57222, + 0.335268, 0.460795, 0.685187, 0.867664, 1.01381, 1.47955, 2.01199, 2.16848, 2.57264, 2.71756, + 0.257604, 0.340872, 0.499757, 0.843052, 1.39655, 1.83169, 2.03423, 2.17033, 2.42262, 2.5405, + 0.417663, 0.631718, 0.955424, 1.19732, 1.6598, 1.87988, 2.1688, 2.35905, 2.57809, 2.69825, + 0.162052, 0.251583, 0.4399, 0.660911, 0.903902, 1.3203, 1.62476, 1.77858, 2.53053, 2.79971, + 0.256861, 0.322803, 0.68537, 1.08644, 1.26328, 1.56988, 1.85165, 2.01495, 2.26471, 2.44701, + 0.125192, 0.176171, 0.336135, 0.7816, 1.20022, 1.43997, 1.80542, 2.07752, 2.46247, 2.73819, + 0.102286, 0.191322, 0.774556, 1.07615, 1.36946, 1.62715, 1.97301, 2.236, 2.60937, 2.81298, + 0.173442, 0.232622, 0.491622, 0.844157, 1.09524, 1.3708, 1.69697, 2.05141, 2.31606, 2.50205, + 0.257531, 0.343598, 0.654071, 0.838985, 1.0481, 1.48747, 1.72538, 1.89742, 2.43051, 2.586, + 0.1979, 0.276312, 0.440283, 0.705103, 1.26734, 1.7403, 1.93448, 2.15401, 2.4002, 2.62414, + 0.40959, 0.596785, 0.983751, 1.18177, 1.37115, 1.50238, 1.75828, 2.01857, 2.38005, 2.59215, + 0.231819, 0.33289, 0.483514, 0.644585, 0.816808, 0.926308, 1.4033, 2.23301, 2.46786, 2.67846, + 0.25861, 0.340064, 0.670485, 0.908467, 1.10761, 1.45624, 1.75958, 1.93218, 2.11312, 2.31013, + 0.184377, 0.249203, 0.410806, 0.587907, 1.3025, 1.51032, 1.72443, 1.98189, 2.2829, 2.42213, + 0.25411, 0.313328, 0.659859, 1.26582, 1.41295, 1.66593, 1.92715, 2.10198, 2.55145, 2.67303, + 0.161592, 0.23748, 0.376535, 0.637094, 0.823028, 1.13761, 1.69642, 1.87577, 2.40363, 2.63962, + 0.384501, 0.466812, 0.740791, 0.938093, 1.06235, 1.50928, 1.74914, 1.9178, 2.54816, 2.67151, + 0.333872, 0.419367, 0.638994, 1.09262, 1.52055, 1.64945, 1.86662, 2.14894, 2.34672, 2.50614, + 0.426216, 0.686997, 1.23588, 1.42885, 1.61159, 1.79286, 2.01759, 2.23372, 2.54777, 2.69661, + 0.262949, 0.367509, 0.530429, 0.741867, 0.872474, 1.0696, 1.74557, 2.06119, 2.28384, 2.49418, + 0.335782, 0.547236, 0.716211, 0.919077, 1.27569, 1.40844, 1.68512, 1.96739, 2.21764, 2.44668, + 0.227629, 0.330991, 0.486068, 1.11757, 1.30498, 1.51013, 1.75726, 1.94697, 2.62556, 2.7826, + 0.35985, 0.436633, 0.750634, 1.20151, 1.33757, 1.59484, 1.97027, 2.11384, 2.57381, 2.72996, + 0.211871, 0.304028, 0.512758, 0.663762, 1.08635, 1.63333, 1.81802, 2.12958, 2.39108, 2.60077, + 0.196092, 0.279726, 0.434488, 0.624802, 0.772358, 1.40438, 1.94878, 2.16092, 2.63, 2.77518, + 0.176304, 0.262521, 0.373719, 0.581101, 1.52011, 1.73617, 1.93323, 2.14017, 2.35813, 2.75352, + 0.254932, 0.381411, 0.806187, 1.10229, 1.53452, 1.75028, 1.9709, 2.15987, 2.45592, 2.65841, + 0.190385, 0.288656, 0.449066, 0.678174, 0.812376, 1.44933, 1.72866, 1.96632, 2.63881, 2.78955, + 0.251178, 0.386509, 0.609363, 0.797102, 1.02416, 1.18173, 1.45466, 2.01263, 2.49309, 2.69893, + 0.166654, 0.266226, 0.385171, 0.71199, 1.3979, 1.53235, 1.91597, 2.088, 2.56527, 2.78953, + 0.238453, 0.306036, 0.449309, 0.876277, 1.52144, 1.93398, 2.13442, 2.26799, 2.5376, 2.65825, + 0.161634, 0.219919, 0.353206, 0.524346, 0.961806, 1.20771, 1.68792, 1.91694, 2.16187, 2.32066, + 0.413612, 0.597095, 0.793763, 0.98629, 1.28179, 1.41266, 1.65246, 2.01609, 2.38416, 2.52858, + 0.228655, 0.341562, 0.480989, 0.988605, 1.371, 1.47742, 1.86103, 2.01585, 2.33975, 2.77315, + 0.259092, 0.597012, 0.985224, 1.32174, 1.64335, 1.95737, 2.28868, 2.49747, 2.71649, 2.84447, + 0.185652, 0.304664, 0.446232, 0.864434, 1.09179, 1.27377, 1.94257, 2.09554, 2.52465, 2.76824, + 0.176687, 0.256678, 0.745652, 0.934909, 1.28376, 1.44006, 1.76524, 2.12209, 2.3881, 2.59055, + 0.189805, 0.275637, 0.440995, 0.821356, 1.25602, 1.41098, 1.92978, 2.12014, 2.39603, 2.60464, + 0.266823, 0.337688, 0.819408, 1.13475, 1.2892, 1.77703, 1.98289, 2.22175, 2.59029, 2.6981, + 0.205348, 0.276512, 0.527305, 0.727412, 1.02465, 1.65398, 1.90418, 2.04661, 2.21792, 2.45566, + 0.293498, 0.424494, 0.613795, 0.95613, 1.13398, 1.3248, 1.80903, 1.95392, 2.29385, 2.57588, + 0.18312, 0.24965, 0.376204, 0.543914, 1.35083, 1.90722, 2.09255, 2.25571, 2.51439, 2.6879, + 0.541205, 0.789796, 1.05895, 1.26942, 1.5039, 1.70219, 1.97018, 2.17544, 2.49681, 2.65224, + 0.229326, 0.339475, 0.451881, 0.66121, 0.795832, 1.0738, 2.0271, 2.20637, 2.4789, 2.72678, + 0.330006, 0.506868, 0.673076, 0.887406, 1.22877, 1.34923, 1.78129, 2.08658, 2.27776, 2.48003, + 0.138389, 0.200001, 0.396259, 0.811975, 1.09071, 1.46041, 1.74549, 1.90427, 2.34825, 2.69989, + 0.176584, 0.242161, 0.37827, 1.17785, 1.56472, 1.67817, 1.95162, 2.12141, 2.58011, 2.73713, + 0.145852, 0.198423, 0.335644, 0.550505, 1.01973, 1.37119, 1.79763, 1.94383, 2.20749, 2.74647, + 0.385078, 0.503696, 0.703239, 1.06999, 1.36574, 1.47205, 1.82583, 2.15964, 2.37128, 2.52097, + 0.28495, 0.38805, 0.507352, 0.879125, 1.52353, 1.77624, 1.9296, 2.15756, 2.44799, 2.5864, + 0.491116, 0.756155, 1.2552, 1.52246, 1.77658, 2.02812, 2.28606, 2.42977, 2.67911, 2.77616, + 0.252477, 0.396081, 0.713022, 0.861502, 1.15222, 1.3708, 1.61401, 2.1448, 2.57407, 2.71253, + 0.282756, 0.438437, 0.613566, 0.847746, 1.26077, 1.37906, 1.6422, 2.13754, 2.36837, 2.52216, + 0.203971, 0.322195, 0.479842, 0.953133, 1.21128, 1.39763, 1.80081, 1.95452, 2.40348, 2.57371, + 0.264533, 0.358424, 0.628768, 1.11124, 1.34025, 1.50648, 1.99959, 2.19411, 2.46141, 2.66736, + 0.17773, 0.22368, 0.394553, 0.556177, 0.947415, 1.50064, 1.73353, 1.92605, 2.26147, 2.43605, + 0.314223, 0.363636, 0.727886, 0.85188, 1.05384, 1.79813, 1.97435, 2.1826, 2.538, 2.62968, + 0.201778, 0.2755, 0.404891, 0.747466, 1.50005, 1.84118, 1.99884, 2.22681, 2.48199, 2.66951, + 0.132164, 0.314955, 0.821473, 1.19604, 1.42659, 1.69993, 2.03686, 2.3235, 2.68547, 2.82896, + 0.223374, 0.347335, 0.50773, 0.773547, 0.967916, 1.13413, 1.9914, 2.30657, 2.52136, 2.78875, + 0.312742, 0.449784, 0.583287, 0.934234, 1.26857, 1.36506, 1.5693, 1.68705, 2.0773, 2.59502, + 0.124286, 0.162126, 0.29073, 0.654031, 1.23166, 1.53846, 1.89307, 2.18478, 2.56264, 2.79822, + 0.177049, 0.251654, 0.367891, 0.912504, 1.55758, 1.69305, 1.89899, 2.07214, 2.35016, 2.64604, + 0.240517, 0.378333, 0.547809, 0.754272, 0.973321, 1.10367, 1.57442, 2.02805, 2.21113, 2.56271, + 0.427795, 0.519003, 0.771284, 0.93724, 1.08662, 1.60988, 1.87875, 2.05279, 2.53412, 2.65715, + 0.22437, 0.317969, 0.439666, 0.812931, 1.3985, 1.62663, 1.79418, 2.114, 2.30916, 2.49684 +}; + /* codebook/lspjvm2.txt */ +static const float codes1[] = { + 0.005167, -0.03731, -0.002159, 0.016849, 0.130396, + 0.039445, 0.03168, -0.074412, -0.031499, 0.060536, + 0.019479, -0.030564, -0.048137, -0.056279, -0.027829, + 0.020585, -0.01127, 0.023913, -0.005706, 0.011407, + -0.023217, 0.107455, -0.037777, 0.00407, -0.017279, + -0.090444, 0.007641, 0.099001, -0.047913, -0.017199, + 0.0227, -0.063865, 0.047213, 0.043843, -0.036225, + 0.001312, -0.123861, -0.038988, 0.058666, 0.074541, + 0.039508, 0.1103, 0.013954, -0.119228, -0.035807, + -0.047392, 0.027035, -0.004412, -0.03265, -0.03715, + 0.002491, -0.045447, 0.15826, 0.022828, -0.030124, + -0.047856, 0.088744, -0.009678, 0.106688, 0.08769, + -0.027941, 0.044084, -0.0285, 0.018736, -0.069969, + -0.035358, -0.051568, -0.030459, -0.017899, 0.027632, + -0.018607, -0.123557, 0.019228, 0.057485, -0.028907, + 0.019057, 0.038151, -0.08022, 0.034222, 0.023081, + 0.021312, 0.041905, 0.112903, 0.024092, 0.093974, + -0.116679, 0.015344, -0.066059, -0.096437, 0.004041, + -0.022464, -0.11626, 0.047819, -0.003921, -0.073504, + 0.001975, -0.025869, 0.0282, 0.12269, 0.010627, + -0.035672, 0.078963, -0.009686, 0.000743, -0.147582, + 0.016932, -0.020291, -0.096896, -0.237875, -0.029121, + 0.017376, -0.04013, -0.053865, 0.15406, -0.013215, + 0.015215, -0.019023, -0.070604, 0.032265, 0.04034, + 0.102365, -0.022746, 0.019895, 0.05057, 0.008845, + -0.034134, 0.044441, -0.049387, -0.140481, 0.07257, + 0.013023, -0.006079, 0.037574, 0.004937, -0.081501, + 0.003696, 0.049908, 0.007355, 0.000403, 0.026006, + -0.008466, 0.08068, 0.061382, -0.108985, -0.08806, + -0.012275, -0.081061, 0.020333, -0.079001, 0.068724, + -0.014081, -0.042609, 0.093365, 0.04412, 0.000303, + 0.063391, 0.096574, -0.105424, 0.039041, 0.010412, + -0.054031, -0.084948, 0.080406, -0.035883, 0.137428, + 0.063037, 0.050562, 0.02469, -0.031394, 0.13032, + -0.015501, -0.078884, -0.076886, -0.013864, -0.073587, + 0.048778, 0.003814, -0.031125, 0.046897, 0.028304, + 0.048692, 0.132795, 0.06545, 0.059487, -0.042396, + -0.176999, 0.056943, -0.004135, -0.049378, -0.041083, + -0.039445, -0.016292, -0.00455, 0.06201, -0.079613, + -0.054566, -0.008476, -0.01671, 0.049202, 0.025758, + -0.078723, 0.092091, 0.096536, -0.065079, 0.021161, + 0.076657, 0.009203, -0.036866, -0.016559, 0.012823, + 0.008225, -0.003006, 0.108033, 0.04312, -0.06087, + -0.019346, 0.02279, -0.001728, 0.062304, -0.016965, + -0.001302, -0.01449, -0.041803, -0.034058, -0.197066, + -0.033655, -0.127217, -0.108681, -0.010571, -0.004705, + -0.015553, -0.086069, 0.034109, -0.101379, 0.002068, + -0.004003, -0.044637, -0.068617, 0.052228, -0.047812, + -0.043307, 0.035681, 0.042207, -0.055946, 0.055944, + -0.026792, -0.012601, -0.05671, -0.021094, 0.105842, + -0.025598, -0.078858, -0.013487, 0.030728, -0.031956, + 0.031444, 0.022763, 0.025364, 0.121366, 0.070736, + -0.084556, 0.098118, -0.024301, -0.058655, -0.043194, + -0.011752, -0.043781, 0.091051, -0.071201, -0.02098, + 0.082904, -0.031657, -0.088247, 0.066709, -0.079182, + -0.012151, 0.011796, -0.010589, 0.100656, 0.094539, + 0.035967, 0.025338, 0.071826, 0.009741, -0.040209, + 0.006866, -0.015095, -0.168469, -0.056133, 0.060145, + 0.04583, -0.068969, 0.034551, 0.015842, -0.092809, + 0.054699, 0.138744, 0.001726, 0.006927, 0.005167, + 0.016978, 0.046384, -0.060183, -0.040742, -0.072692, + -0.022489, -0.029728, -0.065018, -0.124741, 0.044927, + -0.029057, -0.037154, 0.031068, 0.060086, 0.009984, + 0.009311, -0.006957, -0.105508, 0.059637, -0.019564, + -0.068154, -0.066443, 0.000799, 0.028579, 0.097063, + 0.096936, 0.03023, -0.034623, -0.088918, 0.040334, + 0.019439, -0.050707, -0.003294, -0.028505, -0.053599, + 0.06246, -0.070688, -0.016465, -0.03568, 0.017378, + 0.009363, 0.048761, 0.043374, 0.039587, -0.023232, + -0.067033, 0.042663, 0.05407, -0.042797, -0.089391, + -0.030497, -0.050249, 0.059528, 0.089089, -0.029633, + 0.064125, -0.086614, -0.002005, 0.08062, 0.000502, + -0.00349, 0.097336, 0.099565, 0.015648, 0.006691, + 0.077668, 0.016572, 0.035404, -0.046026, 0.017237, + -0.048631, 0.009314, 0.141479, 0.017079, 0.043796, + -0.106474, 0.145951, 0.05774, 0.01125, -0.059443, + 0.027572, 0.02665, 0.008527, 0.002949, -0.03768, + -0.077991, -0.090617, 0.00342, -0.04601, 0.007354, + 0.019056, -0.128651, 0.016464, 0.004584, -0.030883, + -0.092069, 0.038976, -0.08184, 0.066695, -0.04734, + 0.003513, 0.040613, 0.046815, -0.023406, 0.062389, + 0.021759, 0.024928, -0.018922, -0.048006, 0.0638, + -0.014416, -0.050333, 0.042628, -0.114934, -0.10145, + 0.062139, 0.029295, -0.065908, 0.111463, 0.050781, + -0.022707, 0.135414, 0.003548, 0.134535, -0.048259, + -0.092344, -0.027727, 0.016343, -0.060786, -0.081502, + -0.005412, -0.026229, -0.143331, 0.052404, -0.077298, + -0.035919, -0.041968, -0.106108, -0.004369, 0.065028, + 0.09637, -0.053299, 0.043317, -0.049735, 0.049815, + 0.032324, 0.051309, -0.009607, -0.205917, 0.005023, + -0.054316, -0.022895, 0.099327, -0.006927, -0.076574, + -0.111024, 0.111026, 0.038381, -0.060368, 0.064238, + -0.034316, 0.026846, 0.02574, -0.076162, -0.163904, + 0.055955, -0.056885, 0.014831, -0.120715, 0.090938, + 0.035289, -0.036439, 0.060012, 0.080302, 0.036215, + 0.06525, 0.08303, -0.058784, 0.104826, -0.051805, + -0.011099, -0.00642, 0.053042, 0.024127, 0.092534, + 0.058569, -0.033442, 0.025186, -0.018222, 0.117744, + 0.044345, -0.042456, -0.043767, -0.021378, -0.121965, + 0.027371, 0.052731, -0.020316, 0.036912, 0.115357, + 0.03115, 0.041547, 0.059267, -0.039672, -0.086918, + -0.162369, 0.024801, 0.031725, 0.0834, -0.034463, + 0.000272, -0.008147, -0.002016, 0.131953, -0.092911, + -0.091944, -0.062864, -0.005221, 0.063647, -0.012658, + 0.042685, 0.067952, 0.038644, -0.153221, 0.096841, + 0.108299, 0.089446, -0.047164, 0.004196, -0.043268, + -0.035456, 0.050838, 0.070444, 0.084465, -0.07998, + -0.048916, 0.057726, 0.023894, 0.027653, 0.017775, + 0.015461, -0.030287, -0.022245, 0.052081, -0.150947, + -0.002682, -0.056774, -0.123366, -0.091754, 0.006536, + 0.006473, -0.143025, 0.05469, -0.043189, 0.03297, + 0.027446, 0.033127, -0.132722, -0.010417, -0.080097, + -0.018187, 0.001858, 0.11129, -0.090749, 0.059434, + -0.068738, 0.090679, -0.14507, -0.065277, 0.063514, + -0.003982, -0.056382, -0.003673, 0.015845, -0.073396, + 0.043688, 0.002836, 0.069211, 0.124852, -0.053313, + -0.040946, 0.07044, -0.107024, -0.019199, -0.033672, + -0.00144, 0.02168, 0.110595, -0.053452, -0.052426, + 0.035461, -0.028179, -0.049041, 0.02258, -0.010989, + -0.002913, -0.051691, -0.075881, 0.037241, 0.076377, + 0.034735, -0.031556, 0.073516, -0.001427, 0.016296, + -0.017537, 0.003346, -0.099774, -0.067624, -0.044257, + -0.018202, 0.030622, 0.012773, 0.046475, -0.121785, + -0.057265, 0.116179, -0.079916, 0.066396, 0.050104, + -0.013177, 0.057766, -0.047879, -0.109526, -0.146491, + 0.032675, -0.049318, -0.057045, -0.080068, 0.089621, + -0.046564, -0.029992, 0.040828, 0.029281, -0.037369, + -0.009731, -0.082145, -0.117622, 0.117077, 0.037369, + 0.00082, -0.106634, -0.007967, 0.000812, 0.140637, + 0.03653, 0.062121, -0.065504, -0.09493, 0.121336, + 0.01753, -0.01733, -0.040402, -0.018255, 0.010992, + 0.019746, -0.027564, 0.033588, 0.042466, -0.003143, + 0.013767, 0.084179, 0.033753, -0.017279, -0.009676, + -0.006452, 0.032645, 0.031852, -0.030975, -0.043384, + -0.005433, -0.015258, 0.053273, 0.054748, -0.064736, + 0.008959, -0.141223, -0.032957, -0.015079, 0.018198, + -0.001681, 0.143079, 0.076, 0.001037, -0.048744, + 0.022062, 0.02603, -0.008263, -0.050353, -0.023037, + -0.036477, -0.051733, 0.137823, -0.034438, -0.007573, + -0.004256, 0.064218, 0.075183, 0.095106, 0.026497, + 0.02636, 0.009791, -0.058039, 0.053315, -0.077817, + -0.033283, -0.081151, -0.05522, 0.004268, 0.017539, + -0.007329, -0.1172, 0.09322, 0.037359, 0.002718, + 0.010749, 0.018281, -0.0758, -0.024889, 0.00572, + 0.022129, 0.035613, 0.036187, 0.032246, 0.105439, + -0.073766, 0.016887, -0.059934, -0.049471, 0.07352, + -0.024041, -0.104642, 0.023557, -0.059746, -0.043871, + 0.022311, -0.00025, -0.074027, 0.198593, 0.102732, + 0.024478, 0.077658, -0.060042, -0.018229, -0.149648, + -0.009871, -0.105822, 0.007585, -0.161459, -0.041121, + -0.02146, 0.00902, -0.065018, 0.111801, -0.024953, + 0.074594, -0.026041, -0.062859, 0.009199, 0.069609, + 0.078672, -0.033414, 0.054128, 0.005408, -0.016273, + 0.052076, 0.10761, -0.067518, -0.0964, 0.033703, + -0.01435, -0.024676, 0.056254, -0.04377, -0.060847, + -0.004185, 0.07355, -0.05783, -0.016644, 0.029096, + 0.005755, 0.026472, 0.040449, -0.09195, -0.048538, + -0.034439, -0.107938, 0.090712, -0.117001, 0.04317, + -0.006505, -0.035277, 0.117316, 0.127002, 0.047906, + -0.001441, 0.118379, -0.132165, 0.00738, 0.023823, + -0.02012, -0.083725, 0.047284, 0.023795, 0.074123, + -0.013439, 0.024994, 0.060254, -0.06912, 0.166373, + -0.024228, -0.06315, -0.046506, -0.077202, -0.054592, + -0.006571, 0.010335, -0.006568, 0.003982, 0.075837, + 0.008643, 0.136339, -0.005502, 0.03391, -0.066379, + -0.127371, -0.006954, 0.03977, -0.070123, 0.060925, + -0.046386, -0.02642, -0.00528, 0.103509, -0.02231, + -0.00374, -0.014999, -0.03777, 0.080005, 0.025231, + -0.054995, 0.071017, 0.009442, -0.075737, 0.013441, + 0.051947, 0.027097, -0.070351, -0.055705, -0.021115, + 0.021387, 0.029232, 0.163331, -0.03238, 0.010008, + -0.011987, -0.028631, 0.002665, 0.01477, -0.009558, + -0.034325, 0.01583, -0.091253, -0.012677, -0.107378, + -0.034624, -0.047725, -0.10233, 0.042525, -0.006869, + 0.014048, -0.043127, 0.052384, -0.047473, 0.055102, + 0.009744, -0.033646, -0.081755, -0.001464, -0.016223, + -0.036697, -0.002279, 0.023279, -0.036221, 0.101478, + -0.058454, 0.065074, 0.003524, 0.00501, 0.097182, + -0.038171, -0.037943, -0.009994, -0.033355, -0.044552, + 0.041318, 0.065041, 9.2e-05, 0.100816, 0.029007, + -0.031803, 0.183537, -0.009617, -0.010544, -0.028465, + 0.0069, -0.014988, 0.09049, -0.174817, 0.027464, + 0.063314, -0.049281, -0.001567, 0.091421, -0.078603, + -0.004869, -0.063266, -0.001922, 0.069338, 0.081771, + 0.058737, 0.073195, 0.081676, -0.047808, -0.025797, + -0.004185, 0.033203, -0.125472, -0.108148, 0.031258, + 0.035192, 0.029957, 0.046675, 0.047238, -0.088197, + 0.033315, 0.114919, -0.04918, 0.025707, 0.053843, + 0.035182, 0.140206, -0.05866, -0.025978, -0.019658, + -0.014847, -0.021051, -0.034385, -0.121789, 0.173406, + -0.112251, -0.022333, 0.071206, 0.028998, 0.046468, + 0.067704, -0.026159, -0.158316, 0.014936, 0.040216, + -0.010137, -0.053492, 0.004935, -0.011277, 0.073852, + 0.091261, 0.114794, -0.01406, -0.051545, 0.077316, + 0.101258, -0.046137, 0.022994, -0.066767, -0.065537, + 0.049952, -0.043582, 0.012823, 0.009313, 0.036343, + 0.054885, 0.037796, 0.02194, 0.013211, 0.006019, + -0.099578, 0.058596, -0.045463, -0.015632, -0.087141, + -0.019273, -0.03314, 0.043796, 0.119057, -0.081813, + -0.021538, -0.070453, -0.052551, 0.077213, 9.4e-05, + 0.050268, 0.092271, 0.051688, -0.025224, 0.075437, + 0.027983, 0.069205, 0.031787, -0.099975, 0.004387, + -0.002747, -0.056567, 0.161394, 0.000164, 0.084189, + -0.124844, 0.050329, 0.009844, 0.055877, 0.055701, + 0.030479, 0.028843, -0.001076, -0.017173, -0.10277, + -0.038426, -0.133841, -0.03584, -0.072046, 0.020206, + 0.016438, -0.097885, 0.041857, 0.034601, 0.030422, + -0.089192, -0.014112, -0.052276, 0.012005, -0.029335, + -0.011331, 0.101833, 0.063827, 0.044288, 0.101597, + -0.034689, -0.027434, -0.017801, -0.079224, 0.067103, + -0.027456, -0.098034, 0.009448, -0.038986, -0.156729, + 0.085023, 0.033136, -0.021343, 0.110701, -0.011901, + -0.006484, 0.082023, -0.027094, 0.091208, -0.013163, + -0.012223, 0.005933, 0.010653, -0.098119, -0.005304, + -0.021061, -0.058077, -0.073035, 0.097856, -0.102847, + -0.035329, -0.092754, -0.101463, -0.048671, 0.055015, + 0.102145, 0.062017, 0.016002, 0.036489, 0.059, + 0.042861, 0.025447, -0.019735, -0.107841, -0.033752, + -0.043982, -0.067059, 0.051092, 0.025235, -0.147107, + -0.016269, 0.123009, 0.035894, -0.020453, 0.040013, + 0.015557, 0.015825, 0.080712, -0.06963, -0.149739, + 0.022006, -0.008848, 0.040169, -0.095688, 0.059575, + -0.030641, -0.061353, 0.046302, 0.104489, 0.043372, + -0.001579, 0.059737, -0.104073, 0.042342, -0.048611, + -0.013811, -0.056255, 0.107179, 0.057433, 0.084815, + 0.030217, 0.02236, -0.040342, -0.028775, 0.120588, + 0.04127, -0.045775, -0.030195, -0.106859, -0.104349, + 0.072418, -0.003603, -0.013072, 0.040728, 0.086869, + 0.091943, 0.066517, 0.024442, -0.030929, -0.03292, + -0.160336, -0.010347, -0.068458, 0.017458, 0.044823, + 0.050694, 0.067625, 0.040303, 0.113164, -0.038747, + -0.065558, -0.106357, -0.028352, 0.121488, 0.026548, + -0.00782, 0.054872, 0.094674, -0.099533, 0.005231, + 0.118132, 0.04278, -0.065079, 0.03144, 0.043229, + -0.050024, 0.015943, 0.073917, 0.034049, 0.010548, + -0.024979, 0.022639, 0.027795, 0.049491, 0.048762, + -0.002738, -0.010783, -0.027637, -0.006986, -0.104141, + -0.066719, -0.061742, -0.067028, -0.053057, -0.003478, + -0.050948, -0.122196, 0.022082, 0.002595, 0.015094, + 0.006014, 0.005784, -0.184537, -0.034872, -0.036104, + 0.055412, 0.006886, 0.103488, -0.063001, 0.096665, + -0.035533, 0.009847, -0.095114, 0.008588, 0.023736, + -0.034278, -0.11197, -0.041172, 0.03973, -0.102952, + 0.063775, 0.039273, 0.109863, 0.0918, 0.030306, + -0.082206, 0.089449, -0.058478, -0.029341, 0.038389, + 0.061057, -0.024711, 0.111044, -0.035079, -0.027985, + 0.01457, 0.002046, -0.031545, 0.058848, -0.0195, + -0.002475, -0.025589, -0.144358, 0.063478, 0.124927, + -0.014094, -0.01097, 0.031621, -0.040043, 0.004389, + 0.025003, 0.052397, -0.054526, -0.073469, 0.026795, + -0.024697, 0.024739, 0.118299, 0.014948, -0.132109, + 0.020192, 0.037815, -0.09027, 0.049313, 0.082764, + -0.022642, -0.006053, -0.038073, -0.057363, -0.107347, + 0.033166, -0.027556, -0.019765, -0.111958, 0.027773, + -0.063001, -0.052998, 0.019353, -0.009646, -0.01127, + 0.011872, -0.006508, -0.122226, 0.059824, 0.041779, + 0.016445, -0.03189, -0.03631, 0.013085, 0.091631, + 0.062866, 0.054501, -0.117523, -0.010907, 0.087026, + -0.014974, -0.03592, -0.048565, -0.019246, -0.043405, + -0.006959, 0.006211, 0.04237, 0.014603, -0.006435, + 0.019149, 0.078038, -0.020556, 0.018114, -0.036521, + -0.054036, 0.007325, 0.056349, -0.033497, -0.02596, + 0.050184, -0.066536, 0.091501, 0.071356, -0.049044, + -0.032263, -0.095268, -0.008784, 0.049033, 0.036929, + 0.020357, 0.152151, 0.040814, -0.063159, -0.024324, + -0.017084, 0.011876, -0.015442, -0.019811, -0.000366, + -0.0027, -0.072981, 0.109288, 0.007473, -0.049442, + -0.05404, 0.051947, 0.019359, 0.12916, 0.021981, + 0.002248, 0.035262, -0.023141, 0.064666, -0.078273, + -0.031663, -0.031343, -0.006058, -0.045421, 0.017466, + -0.067122, -0.130784, 0.067057, 0.05246, -0.041165, + -0.004411, 0.046453, -0.055461, 0.048162, -0.009687, + 0.02153, 0.007211, 0.104764, 0.079849, 0.086248, + -0.072791, 0.001112, -0.027964, -0.071233, -0.013339, + 0.007979, -0.118231, 0.076826, -0.060762, -0.084358, + -0.011447, 0.009765, 0.014163, 0.164784, -0.015892, + -0.020756, 0.152509, -0.014014, -0.041853, -0.117008, + -0.011755, -0.005766, -0.086896, -0.13965, -0.032342, + 0.025651, -0.007843, -0.039073, 0.103397, -0.042591, + -0.005971, -0.001324, -0.053945, -0.000716, 0.048977, + 0.130185, 0.028226, 0.061179, 0.024489, -0.021939, + -0.007019, 0.054336, -0.01004, -0.095411, 0.082406, + -0.03213, -0.015054, 0.033059, 0.002802, -0.080159, + -0.022452, 0.077426, -0.015314, 0.033583, 0.028479, + 0.023293, 0.035078, 0.006442, -0.110541, -0.106244, + -0.034737, -0.10414, -0.03457, -0.114316, 0.079382, + 0.006009, 0.003901, 0.080081, 0.055082, 0.012896, + 0.064981, 0.057219, -0.112986, 0.003906, -0.028414, + -0.012383, -0.054541, 0.077483, 0.004267, 0.123567, + 0.007369, 0.099856, 0.023273, -0.028194, 0.12203, + -0.036635, -0.126589, -0.034567, -0.028288, -0.06504, + 0.01428, 0.011435, -0.004867, 0.043901, 0.035395, + 0.028599, 0.075858, 0.11846, 0.070581, -0.051903, + -0.170905, 0.050352, 0.053514, -0.017139, 0.021748, + -0.09661, 0.008904, -0.001049, 0.078787, -0.101201, + -0.026229, -0.019757, -0.035771, 0.054142, 0.068041, + -0.020328, 0.099979, 0.096623, -0.046957, -0.001733, + 0.049586, 0.052458, -0.031724, -0.028332, -0.005418, + 0.04671, 0.014238, 0.133125, -0.005428, -0.080055, + -0.033226, 0.034007, 0.025272, 0.033924, -0.044662, + -0.03469, -0.079173, -0.160689, -0.153893, -0.228771, + -0.00245, -0.083966, -0.168294, 0.010694, -0.012167, + 4e-06, -0.044377, 0.023373, -0.077437, 0.012178, + -0.015899, -0.010828, -0.062847, 0.029927, -0.074557, + -0.053306, 0.049688, 0.057017, -0.022571, 0.015337, + -0.046545, 0.018895, -0.024848, -0.004424, 0.165442, + -0.060201, -0.098629, -0.06519, 0.036582, -0.038566, + 0.051453, 0.093478, 0.039619, 0.117535, 0.090386, + -0.029366, 0.108075, -0.016568, -0.093576, -0.048799, + -0.045599, -0.023619, 0.070072, -0.109294, 0.001548, + 0.076285, -0.091274, -0.068829, 0.000215, -0.046519, + -0.022512, -0.027067, 0.014905, 0.079017, 0.140699, + 0.061141, 0.009178, 0.097811, 0.033468, -0.006666, + 0.007163, -0.007578, -0.124238, -0.025271, 0.017581, + 0.042405, -0.034252, 0.06489, 0.0025, -0.139083, + 0.009733, 0.158179, 0.014474, 0.038913, 0.05629, + -0.004998, 0.075401, -0.030557, -0.038595, -0.04907, + -0.01468, -0.076306, -0.132365, -0.177693, 0.09176, + -0.057238, -0.072379, 0.050877, 0.051489, 0.028125, + 0.004991, 0.032621, -0.167359, 0.041002, -0.007072, + -0.086405, -0.042263, -0.019757, -0.011524, 0.066004, + 0.08567, 0.008071, -0.013614, -0.062142, 0.08328, + 0.000887, -0.07582, 0.008295, -0.020136, -0.016886, + 0.089657, -0.10626, -0.051491, -0.012687, 0.054778, + 0.011535, 0.086613, 0.053803, 0.027164, -0.023825, + -0.040009, 0.080987, 0.026309, -0.000334, -0.085288, + -0.024208, -0.08504, 0.096077, 0.120527, -0.044181, + 0.003034, -0.091142, 0.006471, 0.115971, -0.026358, + 0.003489, 0.083633, 0.109975, -0.029425, 0.061726, + 0.056115, -0.006711, 0.013158, -0.062917, -0.015029, + 0.003354, 0.031574, 0.119045, 0.022859, 0.023777, + -0.068292, 0.115604, 0.031617, 0.008953, 0.006943, + 0.01442, 0.008569, -0.031547, -0.006857, -0.05169, + -0.086683, -0.108339, 0.005093, -0.108646, -0.03472, + 0.054273, -0.096753, 0.050806, -0.021115, -0.025278, + -0.079997, 0.027008, -0.034211, 0.090949, 0.005678, + 0.019288, 0.042083, 0.062119, 0.019301, 0.040859, + -0.009113, 0.022427, -0.004019, -0.06089, 0.032884, + -0.012373, -0.037976, 0.017625, -0.079369, -0.050788, + 0.07972, -0.039347, -0.085324, 0.091044, 0.026653, + -0.063122, 0.099371, -0.024736, 0.084631, -0.100421, + -0.073313, 0.014317, 0.022555, -0.116051, -0.063966, + -0.009688, -0.063666, -0.131709, 0.016744, -0.135028, + -0.003708, -0.043685, -0.121631, -0.03693, 0.125776, + 0.084333, 0.010114, 0.071231, -0.010395, 0.059391, + 0.01776, 0.033034, -0.018996, -0.13054, 0.025758, + -0.018261, -0.060044, 0.127025, -0.032724, -0.107299, + -0.064538, 0.090073, -0.010186, -0.066127, 0.107025, + -0.01094, 0.003083, 0.01903, -0.023935, -0.140176, + 0.003549, -0.042402, -0.010695, -0.185915, 0.060835, + 0.005405, -0.013822, 0.029205, 0.079338, 0.068155, + 0.071485, 0.030282, -0.087207, 0.07348, -0.02794, + 0.004896, -0.033246, 0.072637, 0.018017, 0.054712, + 0.026184, -0.005287, 0.034456, -0.036753, 0.079232, + 0.072707, 0.004506, -0.039353, -0.01556, -0.071466, + 0.010257, 0.067446, -0.006598, 0.047396, 0.072218, + 0.023405, 0.082663, 0.015319, -0.035436, -0.075461, + -0.124036, -0.032046, 0.060837, 0.010231, -0.053024, + 0.0228, 0.042891, -0.041549, 0.132395, -0.09533, + -0.077091, -0.058554, -0.070632, 0.04757, 0.031856, + 0.000127, 0.114996, 0.05866, -0.092472, 0.064503, + 0.09645, 0.0662, -0.001059, 0.039487, -0.032859, + -0.065721, 0.001601, 0.088037, 0.059828, -0.047411, + -0.077714, 0.010275, 0.013629, 0.003304, 0.005407, + 0.000665, 0.012927, -0.077525, 0.069202, -0.157417, + 0.014547, -0.095965, -0.087546, -0.067375, -0.027867, + 0.005458, -0.095839, 0.105294, -0.044892, 0.045151, + -0.001349, 0.038356, -0.127152, -0.080503, -0.105423, + -0.018484, 0.008439, 0.104398, -0.027959, 0.082086, + -0.020605, 0.042785, -0.109139, -0.025958, 0.079733, + 0.036289, -0.083773, -0.033819, 0.032566, -0.065556, + 0.006659, 0.00209, 0.097027, 0.115715, -0.013271, + -0.067514, 0.128365, -0.089129, 0.02616, -0.040584, + -0.002443, -0.017254, 0.129204, -0.110078, -0.064943, + 0.089215, -0.022299, -0.034959, 0.022446, -0.019254, + -0.0389, -0.069862, -0.07054, 0.069949, 0.111993, + -0.006311, -0.009057, 0.094278, -0.014932, 0.003657, + -0.019323, 0.026145, -0.062611, -0.073753, -0.007182, + 0.014101, 0.015776, 0.052537, 0.064728, -0.160187, + -0.005122, 0.076356, -0.104763, 0.091493, 0.020225, + -0.000433, 0.062698, -0.060457, -0.14754, -0.066168, + 0.007195, -0.061498, -0.037801, -0.039763, 0.059551, + -0.02841, -0.07451, 0.057667, 0.020584, -0.04251, + -0.025311, -0.037825, -0.18801, 0.077423, 0.030749, + -0.025465, -0.067541, 0.003073, -0.049778, 0.127789, + 0.002786, 0.120009, -0.067812, -0.026565, 0.111272, + 0.023219, -0.024403, -0.014507, -0.048624, 0.022163, + 0.014596, -0.052136, 0.00158, 0.064595, 0.017963, + 0.02133, 0.098862, -0.009253, -0.041062, 0.008903, + -0.013829, 0.031967, 0.076571, -0.005348, -0.04401, + 0.031252, 0.000369, 0.036818, 0.072854, -0.038569, + 0.004161, -0.128017, -0.053152, 0.050896, -0.015212, + -0.036159, 0.097995, 0.068397, -0.048472, -0.056131, + -0.01192, 0.059188, 0.010215, -0.061152, -0.011717, + -0.035949, -0.057039, 0.090859, -0.029682, 0.041466, + -0.025106, 0.131191, 0.059327, 0.085383, 0.021699, + 0.04923, 0.03663, -0.077086, 0.017806, -0.08879, + 0.00404, -0.069533, -0.026785, 0.009666, 0.014017, + -0.055897, -0.096299, 0.120693, 0.029995, 0.032602, + -0.001365, 0.034015, -0.053512, 0.001573, -0.01917, + 0.003956, 0.006452, 0.067313, 0.028301, 0.160615, + -0.053111, 0.01399, -0.02706, -0.013638, 0.039376, + -0.054462, -0.096553, 0.079994, -0.043791, -0.025051, + -0.003222, 0.019418, -0.049525, 0.151136, 0.034123, + 0.055117, 0.058918, -0.017393, 0.026169, -0.12638, + -0.019008, -0.028939, -0.014027, -0.173373, -0.032841, + -0.00337, 0.03968, -0.118311, 0.114094, -0.041869, + 0.041121, -0.038391, -0.096074, -0.032479, 0.060222, + 0.063968, -0.024528, 0.018158, -0.009892, -0.043882, + -0.005004, 0.1298, -0.025438, -0.121186, 0.04986, + 0.010448, -0.040388, 0.061853, -0.017304, -0.035088, + -0.008678, 0.061476, -0.039493, -0.005055, 0.079169, + 0.046134, 0.00977, 0.068294, -0.078965, -0.043792, + -0.030529, -0.053845, 0.053853, -0.140682, 0.111461, + 0.003549, -0.014939, 0.148955, 0.072861, 0.004332, + 0.015386, 0.062006, -0.122325, -0.032529, 0.010241, + -0.047982, -0.12644, 0.05584, 0.067128, 0.101189, + -0.00263, 0.031969, 0.046076, -0.080194, 0.10474, + -0.033486, -0.077818, -0.058697, -0.095258, -0.111074, + 0.037236, 0.011711, 0.001113, -0.005664, 0.048588, + 0.041131, 0.098257, 0.033126, 0.029317, -0.095311, + -0.071555, -0.039999, 0.026678, -0.072182, 0.035031, + -0.007997, -0.048174, -0.006796, 0.075959, -0.05206, + -0.007645, 0.037076, -0.035574, 0.085576, 0.034126, + -0.050676, 0.05143, 0.031999, -0.134308, -0.001489, + 0.084564, -0.018394, -0.09741, -0.042931, -0.025608, + -0.025489, 0.041919, 0.142482, 0.004617, -0.041085, + -0.028816, -0.015527, -0.031005, 0.028405, -0.02224, + -0.067737, -0.025241, -0.052578, 0.012322, -0.120556, + 0.016278, -0.081744, -0.09916, 0.025144, 0.025441, + 0.003176, -0.073871, 0.031718, -0.028622, 0.029031, + 0.01791, -0.030693, -0.104215, -0.015422, -0.065738, + -0.048346, -0.012847, 0.046849, -0.008621, 0.058771, + -0.054495, 0.031597, -0.038844, 0.043138, 0.092588, + -0.071371, -0.059093, -0.001197, 0.001766, -0.074762, + 0.02947, 0.089616, 0.005009, 0.052977, 0.015899, + -0.045424, 0.158466, -0.038717, -0.032506, 0.028687, + 0.011435, -0.006772, 0.047605, -0.144659, -0.031229, + 0.073577, 0.01153, -0.008172, 0.058883, -0.088412, + 0.033615, -0.03412, -0.030701, 0.101215, 0.096645, + 0.027368, 0.041249, 0.081502, -0.02544, 0.007592, + 0.059893, 0.012106, -0.112009, -0.114692, 0.016397, + 0.087068, 0.016199, 0.051263, 0.011915, -0.085364, + 0.026046, 0.145258, -0.047521, 0.077134, -0.000345, + 0.034532, 0.099801, -0.087591, -0.059719, -0.058671, + 0.022737, -0.001887, -0.107049, -0.116757, 0.134115, + -0.055403, 0.005157, 0.067618, 0.081074, 0.071787, + 0.063802, -0.00343, -0.106491, 0.017543, 0.002214, + -0.013785, -0.032962, 0.010084, 0.024325, 0.045963, + 0.059883, 0.072282, -0.008608, -0.015127, 0.048225, + 0.041752, -0.068845, 0.012227, -0.090748, -0.035309, + 0.045353, -0.078624, -0.019489, 0.035531, 0.058571, + 0.045414, 0.039032, -0.011106, 0.048787, -0.025336, + -0.084893, 0.031896, 0.01085, 0.012526, -0.053205, + 0.016952, -0.044041, 0.068766, 0.097328, -0.122229, + 0.027016, -0.051759, -0.057246, 0.074566, 0.006201, + 0.069904, 0.100068, 0.076124, 0.004278, 0.029466, + 0.045229, 0.055683, 0.01879, -0.067806, 0.039373, + 0.029179, -0.036787, 0.129921, -0.028993, 0.037711, + -0.105011, 0.138747, -0.00437, 0.05208, 0.050835, + 0.025511, -0.002962, 0.007852, -0.055234, -0.075055, + 0.00046, -0.089231, -0.030467, -0.080347, 0.007488, + 0.06746, -0.076368, 0.084991, 0.039544, 0.033391, + -0.044318, 0.00639, -0.079387, -0.002909, -0.029708, + -0.047882, 0.06304, 0.065719, 0.021811, 0.070945, + -0.007571, -0.001302, -0.064119, -0.068005, 0.05104, + -0.017747, -0.063938, 0.018673, -0.038391, -0.099966, + 0.057475, -0.007669, 0.009384, 0.109283, 0.012248, + -0.048858, 0.092498, 0.011967, 0.061525, -0.028819, + -0.015131, -0.02416, -0.03322, -0.101648, -0.01798, + -0.003342, -0.049829, -0.125096, 0.128241, -0.047377, + -0.028943, -0.109072, -0.066133, -0.015454, 0.098334, + 0.053371, 0.011324, 0.042781, 0.044313, 0.06251, + 0.098408, 0.06541, -0.040693, -0.116351, -0.032327, + -0.013634, -0.058591, 0.081507, 0.042019, -0.09977, + -0.018275, 0.084624, -0.007512, -0.041113, 0.054203, + 0.017879, -0.029747, 0.059865, -0.048281, -0.111513, + -0.022478, 0.002059, 0.022383, -0.12536, 0.058216, + 0.002386, -0.0816, 0.049288, 0.157428, 0.057724, + 0.005046, 0.102125, -0.083473, 0.044059, -0.094864, + 0.03912, -0.063306, 0.057341, 0.060519, 0.107383, + 0.007076, -0.009373, -0.012555, -0.06663, 0.117121, + 0.025254, -0.008796, -0.062102, -0.083164, -0.079007, + 0.084839, 0.042308, -0.055353, 0.036386, 0.132641, + 0.084464, 0.056288, -0.011636, -0.059554, -0.087748, + -0.147377, -0.052414, -0.010203, -0.009159, -0.018829, + 0.009621, 0.061633, 0.015716, 0.086332, -0.061465, + -0.011833, -0.062998, -0.021168, 0.125194, 0.045025, + 0.052316, 0.02572, 0.095155, -0.093252, 0.02872, + 0.056113, 0.063321, -0.045315, 0.025199, 0.023591, + -0.070481, 0.07235, 0.092458, 0.047973, -0.025439, + -0.001281, 0.021028, 0.034576, 0.084779, 0.006867, + -0.010323, -0.04633, -0.009172, 0.030485, -0.117679, + -0.021782, -0.034737, -0.086292, -0.045885, 0.009655, + -0.037167, -0.123331, 0.017291, -0.028319, 0.071447, + -0.05718, -0.032912, -0.139418, -0.025966, -0.039305, + 0.009411, -0.054017, 0.076307, -0.060252, 0.110087, + -0.061366, 0.038897, -0.098107, 0.046119, 0.043021, + -0.02913, -0.096885, 0.007623, 0.090513, -0.097416, + 0.053264, 0.058296, 0.054372, 0.060769, 0.015586, + -0.067956, 0.059996, -0.03785, 0.005986, 0.000778, + 0.045873, -0.065546, 0.0779, -0.085638, 0.000698, + 0.027694, -0.021241, -0.002777, 0.034509, -0.048173, + 0.009988, 0.001008, -0.077434, 0.026002, 0.13949, + 0.00891, 0.007791, 0.059292, -0.057047, 0.014127, + -0.022959, 0.08571, -0.068087, -0.081561, 0.005935, + 0.007577, 0.061544, 0.076542, 0.00166, -0.113279, + 0.024973, 0.08675, -0.061674, 0.095059, 0.089352, + -0.024436, 0.024181, -0.016117, -0.073634, -0.067986, + 0.074701, -0.046868, -0.054634, -0.092485, 0.006662, + -0.033256, -0.053774, 0.049001, -0.002339, 0.013545, + -0.006432, -0.012089, -0.086842, 0.104105, 0.061991 +}; + /* codebook/lspjvm3.txt */ +static const float codes2[] = { + 0.007066, 0.075781, -0.070082, -0.092014, -0.066477, + 0.09051, 0.106622, 0.025911, -0.01676, 0.003724, + -0.024628, 0.058332, 0.012876, 0.059557, -0.002092, + -0.065092, -0.096975, -0.041837, -0.002432, 0.058918, + 0.014358, 0.080049, -0.008803, -0.002091, -0.097584, + 0.085323, -0.026053, -0.086585, -0.009541, 0.130555, + 0.045391, 0.037557, 0.074726, -0.050453, 0.033517, + -0.035576, -0.084211, -0.08643, 0.00891, -0.072674, + -0.098699, -0.02454, -0.048972, -0.066975, -0.048791, + 0.032184, 0.070992, -0.014416, 0.141892, -0.044249, + -0.108921, -0.02045, 0.115988, 0.011287, -0.026273, + 0.024341, 0.138519, -0.036467, 0.020684, 0.074258, + -0.053563, 0.077463, 0.072166, 0.032112, -0.079303, + -0.025039, 0.079675, 0.094211, -0.115754, 0.038892, + 0.050897, -0.024639, 0.057826, -0.110429, 0.071184, + 0.015309, -0.034027, -0.055726, 0.043179, -0.063089, + 0.043359, -0.011698, 0.006637, 0.002751, 0.03011, + -0.001261, 0.11147, 0.043277, -0.004205, -0.021599, + -0.005698, 0.058842, 0.168422, 0.059313, -0.007971, + -0.087599, 0.073891, -0.083238, 0.099279, -0.017364, + -0.018429, 0.01404, -0.014864, -0.111512, 0.08945, + -0.028498, -0.087983, -0.07732, -0.062602, 0.000328, + -0.027152, -0.093796, 0.111381, -0.018603, 0.092394, + -0.007256, 0.025391, 0.011454, 0.012802, -0.04168, + 0.008078, 0.020905, -0.105401, -0.083265, 0.027756, + -0.04963, -0.044085, -0.051424, 0.104125, -0.000779, + -0.063079, -0.130699, 0.0705, 0.033468, -0.019802, + -0.061011, 0.094839, -0.040122, 0.118409, 0.05695, + 0.086391, -0.006615, 0.045337, -0.04419, -0.106474, + -0.081912, 0.067557, -0.031649, -0.014437, 0.057585, + -0.121755, -0.049113, 0.057109, -0.049872, 0.044104, + 0.064705, -0.091589, 0.037286, -0.048606, -0.045398, + 0.003456, 0.05723, 0.006262, -0.055206, -0.063871, + -0.005249, 0.081783, 0.134969, -0.002331, 0.052643, + -0.093346, 0.072093, 0.116025, -0.031453, -0.006012, + -0.038574, -0.030841, 0.010288, 0.02442, 0.051657, + -0.086584, 0.046381, 0.00541, 0.052622, -0.072741, + 0.079023, 0.078099, -0.093912, 0.005477, -0.006721, + 0.100232, -0.017587, 0.044819, 0.036655, 0.02158, + -0.006829, -0.050076, -0.00302, 0.088246, 0.01356, + -0.01569, 0.012477, -0.052595, -0.048861, -0.033688, + 0.055615, 0.092298, -0.066194, 0.016416, -0.066059, + 0.046976, 0.003023, 0.104646, 0.109136, 0.018293, + -0.016507, -0.006859, 0.004326, 0.070843, 0.14075, + 0.025774, 0.03473, -0.07959, 0.050054, -0.10795, + 0.002378, 0.097498, 0.027111, -0.122953, -0.002423, + -0.020539, -0.063263, -0.095493, -0.157361, -0.039183, + 0.025721, 0.026897, -0.0012, 0.033997, -0.001749, + 0.061593, -0.013053, -0.106317, -0.06819, 0.046352, + -0.05606, 0.157084, -0.049365, 0.053959, -0.051065, + -0.047672, 0.08157, 0.064342, -0.030705, -0.070806, + -0.076503, -0.059471, 0.012419, 0.073968, -0.026179, + -0.038473, 0.059013, -0.035783, -0.030057, -0.036346, + -0.052692, -0.015346, -0.022687, -0.035279, 0.013314, + 0.068397, -0.046609, -0.009593, -0.040796, 0.157438, + -0.07536, -0.110464, 0.031839, -0.029035, -0.015222, + 0.041013, -0.099212, -0.10892, -0.008627, 0.012095, + 0.020855, 0.009935, -0.086917, 0.058827, -0.006536, + 0.022104, -0.005013, 0.003496, 0.046663, -0.051061, + -0.036803, -0.067317, -0.007075, 0.18087, -0.027434, + -0.025056, -0.039341, -0.073918, -0.00318, -0.11093, + -0.042711, 0.005519, -0.035005, -0.088419, 0.170942, + 0.001503, -0.121485, 0.066383, -0.067346, 0.005643, + 0.080088, -0.042562, -0.006668, -0.036538, 0.020683, + 0.042848, 0.027852, -0.029088, -0.156468, 0.006503, + 0.037716, 0.032082, 0.038416, 0.021835, -0.106963, + -0.043017, 0.018166, 0.070409, -0.005426, -0.035585, + -0.111071, -0.039986, 0.05043, 0.035157, 0.066902, + -0.040684, 0.060527, 0.036225, 0.002527, -0.015087, + 0.059243, 0.021268, -0.010682, -0.018434, 0.059128, + 0.111314, -0.05407, 0.105744, -0.051476, -0.01297, + -0.000358, -0.099249, -0.077385, 0.069924, -0.039101, + -0.072139, -0.049069, -0.088018, 0.006144, 0.000712, + 0.08103, 0.021987, -0.046031, 0.058087, -0.00132, + -0.046851, -0.011062, 0.108321, -0.001146, -0.071193, + 0.044973, -0.002915, -0.003323, 0.041735, 0.094566, + 0.05353, 0.035927, 0.100282, 0.059082, -0.054059, + -0.012158, -0.035417, 0.020412, -0.073193, 0.059296, + -0.040489, -0.09525, -0.003821, -0.084904, 0.053925, + 0.109183, -0.005862, -0.036538, 0.080962, -0.040647, + 0.02007, 0.057778, -0.020197, -0.079626, -0.003186, + -0.050855, 0.128185, 0.034731, 0.05746, -0.035236, + -0.057096, -0.001238, 0.122018, -0.071204, -0.047253, + -0.051767, 0.048301, -0.052678, 0.02599, -0.017481, + -0.029379, 0.030738, 0.047207, -0.047864, -0.033561, + 0.029884, -0.091175, -0.085446, -0.02614, 0.092628, + 0.067706, -0.085617, 0.081433, 0.047305, 0.031945, + -0.048728, -0.040387, 0.046206, 0.010578, -0.037639, + 0.011328, -0.042458, -0.149597, 0.033882, -0.061869, + 0.0088, 0.057754, -0.095876, 0.03823, 0.096876, + -0.033487, -0.141669, -0.014172, 0.028439, -0.092764, + -0.053714, 0.086926, 0.034786, 0.136053, -0.005569, + 0.028753, 0.00963, 0.044114, -0.050365, -0.066224, + 0.006017, 0.014348, 0.024471, 0.000489, 0.067234, + -0.021678, -0.11876, 0.036349, -0.040295, 0.076358, + -0.008444, -0.086082, -0.044018, -0.025804, 0.028971, + -0.009233, 0.053026, -0.035341, -0.182193, -0.102515, + 0.08921, 0.066812, 0.032417, 0.046882, -0.034815, + -0.052293, 0.022814, 0.129622, 0.128232, -0.012105, + -0.087084, 0.004762, 0.086538, 0.046566, 0.098359, + -0.018713, 0.039204, -0.021707, -0.06011, -0.117527, + -0.005459, 0.060994, -0.057718, -0.021783, 0.035154, + 0.100557, -0.01547, -0.025818, 0.00845, 0.051535, + -0.001388, -0.11461, -0.057903, 0.041862, 0.061778, + 0.045701, -0.078563, -0.070166, -0.04845, -0.08853, + 0.021375, -0.004598, -0.09071, -0.009399, -0.073952, + -0.035575, -0.05028, 0.11478, 0.137866, 0.065234, + 0.003594, -0.066802, -0.144989, 0.166201, 0.039564, + -0.022457, -0.03009, 0.016187, 0.115443, -0.097331, + -0.019139, 0.09944, 0.002198, -0.030953, 0.021099, + -0.045399, -0.046871, 0.022533, -0.064657, 0.005776, + 0.049063, -0.028478, 0.019268, 0.054265, 0.028042, + 0.045559, -0.005541, -0.01441, -0.024165, -0.054976, + -0.073258, 0.084205, 0.036077, -0.068683, 0.004708, + -0.085228, 0.001234, 0.046261, -0.050496, -0.028227, + -0.086828, -0.001218, 0.021865, 0.003791, -0.000568, + -0.088733, -0.040041, -0.035891, -0.054915, 0.073463, + -0.132031, -0.012844, -0.068544, 0.013052, 0.087335, + 0.038603, -0.115382, -0.010433, -0.007113, 0.095126, + -0.047378, -0.081353, 0.018021, -0.021156, -0.120774, + 0.040038, 0.007633, -0.088728, -0.009928, 0.020142, + 0.052024, -0.021063, -0.118121, 0.102739, -0.055837, + 0.005253, -0.061924, 0.06368, -0.014512, -0.020259, + 0.029493, -0.013435, -0.020638, 0.089342, 0.001092, + -0.046491, -0.145634, -0.083159, -0.158142, -0.279281, + 0.003611, 0.055863, -0.064655, -0.088773, 0.089283, + -0.029619, -0.089949, 0.017197, -0.066633, -0.052347, + 0.090828, -0.087551, 0.000338, 0.085238, -0.005313, + 0.096211, 0.071381, -0.076546, -0.077927, -0.040864, + 0.062936, 0.041559, 0.016235, -0.017513, 0.014773, + -0.025734, 0.028586, 0.070292, 0.055794, -0.026131, + -0.076954, -0.082228, 0.043947, -0.035921, 0.152668, + -0.04951, 0.023159, 0.008506, -0.044773, -0.160358, + 0.024984, -0.025587, -0.071627, -0.038376, 0.088478, + 0.120568, 0.046723, 0.086731, 0.000695, -0.015751, + -0.027837, -0.160937, -0.095031, 0.036271, -0.009061, + -0.015078, -0.036281, -0.103665, -0.058258, -0.049573, + 0.022021, 0.108296, -0.002586, 0.065655, -0.018584, + -0.046441, -0.031018, 0.06735, 0.014328, 0.00886, + -0.000245, 0.0634, -0.00181, 0.043515, 0.090344, + -0.063845, 0.020485, 0.079401, 0.070558, -0.116428, + 0.032628, 0.068949, 0.052238, -0.04453, 0.096813, + 0.029911, -0.008814, 0.044352, -0.168172, 0.009604, + 0.055828, -0.100739, -0.026013, 0.021193, -0.051425, + 0.035891, -0.004085, 0.030216, -0.060801, 0.037202, + 0.007262, 0.120686, 0.026846, 0.058464, -0.100792, + -0.009176, 0.027589, 0.123957, -0.011283, -0.025744, + -0.105081, 0.118244, -0.042122, -0.025404, 0.000873, + -0.012703, 0.084159, -0.067539, -0.140536, 0.041637, + -0.014485, -0.043382, -0.048004, -0.075416, 0.054401, + -0.018651, -0.032908, 0.164231, -0.053236, 0.033946, + -0.021681, -0.012655, -0.037049, -0.001613, -0.053393, + -0.014635, 0.017954, -0.116115, -0.027232, 0.034005, + -0.035376, 0.026492, -0.03725, 0.070733, 0.074835, + -0.021378, -0.14298, 0.123195, 0.003699, 0.025398, + 0.015629, 0.07737, 0.032623, 0.12158, 0.0971, + 0.000946, -0.056355, 0.042065, 0.008184, -0.081824, + -0.101937, 0.065473, 0.00336, 0.069241, 0.073002, + -0.053844, -0.044301, 0.080351, -0.091833, 0.044288, + 0.007447, -0.120723, -0.013806, -0.023636, -0.064616, + 0.030556, 0.07263, 0.074428, -0.087759, -0.02644, + 0.06484, 0.049162, 0.091053, 0.023891, 0.033811, + -0.027746, 0.116392, 0.106126, -0.056644, -0.014781, + 0.036137, -0.002632, 0.055512, 0.070077, 0.067819, + -0.030625, 0.053772, -0.078457, -0.021351, -0.113011, + 0.052797, 0.044875, -0.077269, -0.009867, 0.101493, + 0.073477, -0.024103, 0.049145, -0.004706, -0.025211, + -0.053731, -0.049009, -0.035786, 0.05443, 0.046515, + 0.025154, -0.043569, -0.034789, -0.05861, 0.006931, + 0.012049, 0.046809, -0.129441, 0.025541, -0.030933, + 0.000297, -0.054058, 0.179837, 0.081515, 0.004932, + -0.028445, -0.073753, 0.010629, 0.080042, 0.09871, + -0.014017, 0.057597, 0.00101, 0.071658, -0.06757, + 0.074384, 0.110366, -0.018121, -0.108754, 0.037793, + 0.028041, -0.047508, -0.031359, -0.098913, -0.036486, + -0.017311, -0.001279, -0.013694, 0.051968, 0.036512, + 0.088201, 0.031155, -0.043442, -0.065045, 0.023486, + 0.027, 0.104768, -0.015176, -0.038754, -0.004178, + 0.003732, 0.062166, 0.085438, -0.077368, -0.101645, + -0.118347, 0.007589, -0.056489, 0.082268, 0.020253, + -0.035623, 0.034235, -0.099354, -0.061237, -0.024285, + 0.005441, -0.039694, -0.025957, -0.004411, 0.049903, + 0.00304, 0.036243, 0.023552, -0.007334, 0.128963, + -0.077727, -0.059175, -0.019437, -0.024872, 0.004339, + 0.084006, -0.076605, -0.102261, 0.036714, -0.035205, + -0.007642, -0.005125, -0.030525, 0.09639, -0.053138, + -0.002192, -0.024851, 0.050645, 0.04149, -0.043183, + 0.046796, -0.050894, 0.055023, 0.133834, -0.024013, + 0.000872, -0.057072, -0.00063, 0.04207, -0.129339, + -0.064283, 0.037836, -0.066393, 0.004438, 0.125379, + -0.062213, -0.067468, 0.090177, -0.046094, -0.025725, + 0.079101, -0.074909, -0.04373, -0.073483, 0.069672, + -0.020413, -7.9e-05, -0.049725, -0.120751, -0.04698, + 0.039894, 0.072305, 0.009798, 0.005613, -0.045217, + 0.006862, 0.036285, 0.074819, -0.006747, 0.015144, + -0.071562, 0.012324, -0.001082, 0.014835, 0.07996, + -0.027804, 0.103358, -0.017203, 0.014914, -0.056687, + 0.030827, 0.028076, 0.003395, -0.073255, 0.11031, + 0.056498, -0.044893, 0.110122, -0.109058, -0.052302, + -0.001604, -0.089977, -0.060548, 0.107808, 0.025463, + -0.070203, -0.000513, -0.123913, 0.046247, -0.085392, + 0.096343, 0.09589, -0.06495, 0.070363, 0.034272, + 0.037773, -0.07695, 0.124858, -0.009008, -0.010115, + 0.083868, 0.051242, 0.039149, 0.015185, 0.083375, + 0.029773, -0.045961, 0.100395, 0.003743, -0.138294, + -0.041755, 0.010806, 0.057797, -0.147374, 0.095858, + -0.009929, -0.103347, -0.03231, -0.11056, 0.121377, + 0.145244, 0.017079, -0.080587, 0.020516, -0.044939, + -0.010477, 0.038347, -0.003466, -0.001618, 0.0196, + -0.021762, 0.125482, 0.011074, 0.065815, 0.040298, + 0.009202, -0.051686, 0.129684, -0.131135, 0.044536, + 0.009313, 0.102518, -0.075351, 0.054338, 0.020273, + -0.045753, 0.031345, 0.000407, -0.097294, -0.000416, + -0.007466, -0.044972, -0.078744, 0.042414, 0.066624, + 0.030318, -0.067852, 0.061416, -0.028992, 0.056606, + 0.004038, -0.036253, -0.014279, 0.023123, -0.007832, + -0.000137, -0.027684, -0.127648, -0.007713, -0.008746, + -0.0265, 0.049032, -0.183319, 0.059107, 0.0665, + 0.016902, -0.093331, 0.090129, 0.016648, -0.083492, + -0.023669, -0.010473, 0.027614, 0.145068, 0.000681, + 0.044133, -0.035809, 0.005668, -0.090461, -0.090732, + -0.033927, 0.042997, 0.0217, -0.046955, 0.044487, + -0.026444, -0.061011, 0.01011, -0.023804, 0.030427, + -0.015195, -0.155603, -0.016584, 0.021461, -0.003528, + -0.059784, 0.032214, 0.000847, -0.098859, -0.07898, + 0.043188, 0.066433, 0.062309, 0.144507, 0.006865, + -0.068953, 0.046698, 0.099369, 0.043354, -0.014309, + -0.033202, -0.00295, 0.040734, 0.083454, 0.039319, + 0.051358, 0.006074, -0.073465, -0.090554, -0.120787, + -0.040676, 0.092412, -0.085151, -0.021699, 0.005813, + 0.103135, 0.024964, 0.025832, -0.075982, 0.035699, + -0.02731, -0.153007, 0.03642, 0.0576, 0.08163, + 0.001605, -0.054191, -0.033043, -0.01439, -0.071383, + 0.03618, 0.03586, -0.04698, 0.038541, -0.044757, + -0.078032, -0.029878, 0.078183, 0.082251, 0.010549, + 0.053317, -0.038231, -0.06561, 0.055798, 0.037504, + 0.076317, -0.027605, 0.010349, 0.095361, -0.088636, + 0.049089, 0.113316, 0.051084, 0.038589, 0.03433, + -0.055948, -0.037217, -0.015418, -0.139976, 0.036306, + 0.039306, -0.009889, -0.04491, 0.016559, -5e-05, + 0.106073, 0.01528, -0.002563, -0.109085, -0.048475, + -0.035319, 0.16386, 0.032981, -0.044932, 0.003227, + -0.123233, -0.010638, 0.055479, -0.003666, -0.072249, + -0.111158, 0.065365, 0.010691, 0.039119, -0.001837, + -0.118729, 0.06147, -0.002077, -0.033335, -0.060165, + -0.026081, -0.001806, -0.079616, -7.5e-05, 0.080598, + 0.032908, -0.03514, -0.003136, -0.029024, 0.094622, + -0.075773, -0.022898, -0.014817, 0.058393, -0.111505, + 0.036794, -0.01576, -0.112602, 0.030323, 0.085897, + -0.020834, 0.056079, -0.103762, 0.117671, -0.041205, + 0.041684, -0.084336, 0.034186, 0.011973, -0.006313, + 0.040836, -0.035709, 0.03417, 0.122672, 0.090973, + -0.053182, -0.059371, 0.091017, -0.090998, -0.116986, + 0.001405, 0.138364, 0.017107, -0.064076, 0.103486, + -0.031142, -0.030068, 0.046547, -0.133471, -0.042055, + 0.140418, -0.125084, 0.035218, -0.001162, -0.02113, + -0.012034, 0.097413, -0.079006, -0.03903, -0.054011, + 0.143887, 0.078835, -0.000601, -0.021173, -0.039895, + -0.02505, 0.075865, 0.039221, 0.032458, 0.038206, + -0.038873, -0.085003, -0.032736, -0.026956, 0.113525, + -0.023933, 0.120794, -0.003862, -0.026459, -0.138724, + 0.089559, 0.029002, -0.052098, -0.085692, 0.115174, + 0.083497, 0.024179, 0.119021, -0.067541, 0.019047, + -0.02772, -0.086083, -0.055329, 0.020087, -0.027086, + -0.047858, -0.051975, -0.035205, -0.059342, -0.068582, + 0.058936, 0.044141, -0.080315, 0.119744, -0.046518, + -0.064588, -0.027212, 0.147823, 0.032404, 0.01669, + 0.024302, 0.08556, -0.001525, 0.016469, 0.038891, + -0.020146, 0.019943, 0.045067, 0.03807, -0.086274, + -0.025769, 0.044192, 0.102141, -0.064765, 0.055849, + 0.048803, -0.030066, -0.00922, -0.116655, 0.068295, + 0.04758, -0.076138, -0.070307, 0.047582, -0.111342, + 0.004656, -0.004452, 0.029703, -0.004259, 0.01113, + 0.014446, 0.166086, 0.059565, 0.000985, -0.052607, + 0.013251, 0.094476, 0.106216, 0.016715, -0.025581, + -0.101244, 0.072897, -0.114526, 0.024681, 0.010784, + -0.051759, 0.032389, -0.050202, -0.083316, 0.052334, + -0.0351, -0.116721, -0.110336, -0.053391, 0.065541, + -0.02979, -0.020457, 0.135285, -0.004142, 0.111508, + -0.030936, 0.018549, -0.016034, 0.018572, -0.084336, + -0.048615, -0.018739, -0.096815, -0.090162, 0.01941, + -0.040821, -0.009925, -0.097427, 0.091891, 0.031793, + -0.024598, -0.132848, 0.078353, 0.089339, -0.068562, + -0.020779, 0.040974, -0.055675, 0.169131, 0.029649, + 0.078165, -0.050679, -0.005881, -0.004983, -0.104324, + -0.069096, 0.12796, 0.011392, -0.000769, 0.062168, + -0.079842, 0.001606, 0.089284, -0.035465, 0.031075, + 0.029519, -0.102956, -0.010902, -0.06403, -0.019669, + 0.057492, 0.075802, -0.008904, -0.060743, -0.053144, + 0.005126, 0.06298, 0.085674, 0.019895, 0.104448, + -0.086473, 0.056906, 0.056795, -0.01294, 0.036606, + -0.008604, -0.04045, 0.042062, 0.04181, 0.02768, + -0.092256, 0.091237, -0.0395, 0.024761, -0.088978, + 0.068585, 0.088295, -0.048033, -0.017808, 0.04537, + 0.1246, -0.03532, 0.056751, 0.092751, 0.054025, + -0.015725, -0.061938, 0.036806, 0.078768, -0.016065, + 0.002444, -0.023887, -0.072177, -0.02979, -0.00586, + 0.015478, 0.129142, -0.091024, 0.071482, -0.065445, + 0.005867, -0.006051, 0.098646, 0.054089, 0.018713, + 0.033837, -0.008355, -0.051959, 0.05744, 0.160305, + -0.001863, 0.016738, -0.033705, 0.062233, -0.140759, + 0.027342, 0.060074, 0.030362, -0.117875, 0.06102, + -0.028026, -0.088238, -0.003782, -0.146288, -0.080395, + 0.050048, 0.036136, 0.0195, 0.066902, 0.020355, + 0.024817, -0.056254, -0.140918, -0.085803, 0.02054, + -0.00373, 0.161411, -0.049408, 0.000219, -0.002348, + -0.055021, 0.06782, 0.126483, -0.031063, -0.119299, + -0.102834, 0.001133, 0.010172, 0.107707, -0.029106, + -0.059813, 0.036698, -0.02172, -0.043189, -0.00227, + -0.031694, 0.009605, -0.022459, -0.036417, 0.053675, + 0.061561, -0.012723, 0.05004, -0.02945, 0.131044, + -0.124516, -0.107579, -0.012171, 0.011761, 0.002599, + 0.016327, -0.060854, -0.08091, 0.030875, -0.002997, + -0.02097, -0.01188, -0.086096, 0.037912, 0.012421, + 0.055253, -0.00725, 0.04174, 0.055596, -0.02442, + -0.017564, -0.079202, 0.008897, 0.180091, 0.05449, + 0.001772, -0.022151, -0.082048, -0.010559, -0.163377, + -0.02066, -0.017827, -0.0308, -0.045856, 0.122405, + -0.052946, -0.13049, 0.097383, -0.116737, 0.039855, + 0.056504, -0.059549, -0.059931, -0.018658, 0.034898, + 0.054889, 0.005373, -0.066796, -0.12736, 0.04796, + 0.071746, 0.02741, -0.006212, 0.024132, -0.094062, + 0.005369, -0.008926, 0.073085, -0.014265, -0.029204, + -0.100025, -0.072076, 0.014651, 0.069368, 0.048275, + -0.066823, 0.086074, 0.014921, -0.015395, -0.045138, + 0.026224, 0.000902, -0.038208, -0.035221, 0.057397, + 0.097606, -0.073195, 0.051626, -0.033488, 0.027813, + 0.00207, -0.09751, -0.057877, 0.12668, -0.082194, + -0.072597, 0.006014, -0.093185, -0.016853, -0.02279, + 0.138461, 0.005394, -0.056485, 0.102778, 0.028918, + -0.045604, -0.060041, 0.121251, 0.02926, -0.101404, + 0.061194, 0.033039, -0.016798, 0.064263, 0.065144, + 0.010925, 0.023151, 0.107623, 0.027977, -0.090356, + -0.024863, -0.00644, 0.04787, -0.047486, 0.088211, + -0.012139, -0.116121, -0.000525, -0.140961, 0.016604, + 0.06349, -0.022732, -0.046944, 0.06697, -0.068838, + 0.016143, 0.026202, -0.043344, -0.064881, 0.024877, + -0.072845, 0.120531, 0.077901, 0.047272, 0.011713, + -0.044646, 0.040932, 0.076164, -0.101233, -0.029615, + -0.065118, 0.050966, -0.023273, 0.053517, 0.02371, + -0.007489, 0.035822, 0.023439, -0.055528, -0.004033, + -0.007662, -0.096546, -0.081662, 0.037141, 0.137562, + 0.075526, -0.097496, 0.12399, 0.013996, 0.087005, + -0.019788, -0.082043, 0.020524, 0.007027, -0.021537, + -0.036264, -0.090952, -0.177722, -0.009306, -0.031473, + -0.009287, 0.047557, -0.090241, 0.089347, 0.056375, + -0.005506, -0.112128, 0.004356, 0.064421, -0.038478, + -0.035674, 0.040616, 0.007731, 0.160236, -0.054199, + -0.007537, 0.012434, 0.022001, -0.021567, -0.075163, + -0.026053, 0.015909, 0.041015, 0.021832, 0.034152, + -0.048539, -0.086655, 0.047465, 0.000682, 0.04264, + 0.023697, -0.095971, -0.022874, -0.000369, 0.003413, + 0.046005, 0.064807, 0.010131, -0.129517, -0.092254, + 0.116469, 0.053796, 0.03811, 0.09447, 0.018435, + -0.034803, 0.073591, 0.108348, 0.104096, 0.049884, + -0.021274, 0.022097, 0.065347, 0.065555, 0.089319, + 0.000474, -0.004186, -0.040493, -0.065543, -0.083167, + -0.017425, 0.049177, -0.044248, 0.008399, 0.06818, + 0.154778, 0.027549, -0.008012, 0.01495, 0.043254, + 0.039599, -0.136415, -0.018716, 0.0619, 0.031263, + 0.058118, -0.0372, -0.114692, -0.080876, -0.053238, + 0.077436, 0.015015, -0.092517, 0.005804, -0.065541, + -0.005653, -0.073184, 0.095594, 0.08247, 0.060989, + -0.000262, -0.035766, -0.083441, 0.122634, 0.088429, + -0.014397, -0.055434, -0.005659, 0.069697, -0.064892, + 0.008824, 0.082498, 0.051866, -0.03607, 0.033403, + -0.082855, -0.087376, 0.002714, -0.097121, -0.01917, + 0.027179, -0.06987, -0.009316, 0.04745, 0.040657, + 0.060527, 0.00462, -0.040264, -0.051228, -0.029023, + -0.071384, 0.101421, 0.009538, -0.099185, 0.0601, + -0.048395, -0.024677, 0.025125, -0.056043, -0.058045, + -0.054059, 0.008107, 0.021078, 0.04529, -0.018459, + -0.113359, 0.014009, -0.006826, -0.052747, 0.046922, + -0.075976, 0.008538, -0.084411, -0.004369, 0.045801, + 0.075392, -0.06734, 0.014454, 0.032407, 0.092478, + -0.061859, -0.083458, 0.051442, 0.031695, -0.080233, + 0.054028, 0.027, -0.073549, 0.0323, 0.036501, + -0.011384, -0.02078, -0.124142, 0.093905, -0.028332, + 0.039139, -0.030944, 0.079952, -0.001717, 0.013976, + 0.038005, -0.001751, -0.044097, 0.129827, 0.014385, + -0.001682, -0.063458, -0.002511, -0.07815, -0.141236, + 0.021955, 0.104851, -0.093246, -0.060019, 0.069998, + 0.004399, -0.096408, 0.059327, -0.062268, -0.074327, + 0.108063, -0.090534, -0.045654, 0.048119, 0.049187, + 0.042105, 0.043964, -0.091516, -0.047999, -0.028881, + 0.070471, 0.055401, -0.025605, 0.011176, 0.008475, + 0.022254, 0.038266, 0.048106, 0.047176, -0.017967, + -0.010978, -0.088762, 0.034806, 0.019311, 0.126815, + -0.010571, 0.053073, 0.032162, -0.00078, -0.1522, + -0.014253, -0.021954, -0.13104, -0.061376, 0.113838, + 0.060725, 0.020201, 0.102533, -0.011392, -0.052046, + -0.069625, -0.091011, -0.097954, 0.067847, 0.017856, + -0.053461, -0.040679, -0.121664, -0.077208, -0.106919, + 0.057996, 0.069756, -0.012433, 0.069569, -0.055159, + -0.024801, -0.060448, 0.1017, 0.014619, 0.03658, + -0.004526, 0.093977, -0.028211, 0.045261, 0.149736, + -0.014691, -0.007959, 0.097708, 0.107128, -0.079723, + 0.029157, 0.020116, 0.104828, -0.064208, 0.119172, + 0.039583, -0.029446, 0.006628, -0.110398, 0.004062, + 0.048132, -0.060601, 0.009448, 0.051777, -0.053127, + 0.050551, -0.001924, 0.028079, -0.050618, -0.013698, + 0.00192, 0.088162, 0.073078, 0.085795, -0.066788, + 0.014025, 0.042699, 0.176241, -0.046674, -0.034822, + -0.051433, 0.121729, -0.057076, 0.023901, 0.045075, + -0.057182, 0.05478, -0.01728, -0.146674, 0.00209, + -0.016223, -0.044841, -0.084524, -0.152479, 0.072688, + -0.006962, 0.008711, 0.127455, -0.003876, 0.053162, + -0.013682, -0.025386, -0.000427, -0.024811, -0.024474, + -0.056267, 0.062116, -0.121311, -0.053011, 0.065651, + -0.075385, -0.00868, -0.063033, 0.083039, 0.110577, + -0.000152, -0.127017, 0.055904, 0.013659, 0.005664, + -0.002852, 0.047248, 0.001128, 0.100773, 0.037274, + 0.026368, -0.042205, 0.021887, -0.020247, -0.056678, + -0.077475, 0.089799, 0.058003, 0.039741, 0.106663, + -0.016853, -0.015972, 0.075741, -0.048829, 0.015374, + -0.032657, -0.125677, -0.06206, -0.057409, -0.061287, + 0.073151, 0.050357, 0.053547, -0.059886, -0.051298, + 0.057954, -0.003817, 0.076028, 0.006757, 0.061109, + -0.03803, 0.143209, 0.092207, -0.018493, 0.062291, + 0.005751, -0.036449, 0.067582, 0.031449, 0.101894, + -0.080754, 0.011515, -0.049485, -0.016137, -0.087818, + 0.108851, 0.038222, -0.099315, -0.003117, 0.052278, + 0.107517, -0.036233, 0.06537, 0.040409, -0.057029, + -0.033167, -0.081758, -0.019502, 0.033438, 0.013365, + -0.01776, -0.025906, -0.020244, -0.078722, -0.011697, + -0.028246, 0.068647, -0.106417, 0.026956, -0.064914, + 0.062711, -0.017857, 0.151539, 0.044613, -0.01782, + 0.009085, -0.032785, -0.025795, 0.07579, 0.075667, + -0.040398, 0.058556, -0.042634, 0.093973, -0.099529, + 0.057103, 0.073562, 0.01264, -0.066141, 0.029558, + 0.060219, -0.083699, -0.054799, -0.120442, -0.000374, + 0.006521, 0.034512, -0.039558, 0.042191, 0.033865, + 0.103992, -0.014977, -0.077384, -0.05134, 0.001873, + 0.047451, 0.140612, -0.024885, -0.02142, -0.046604, + 0.030606, 0.10066, 0.076356, -0.019288, -0.09857, + -0.114463, -0.010855, -0.034657, 0.025618, -0.003356, + -0.087913, 0.064346, -0.07554, -0.091569, -0.024965, + -0.021232, -0.017255, -0.056931, -0.003104, 0.030219, + -0.020112, -0.012334, 0.035298, 0.001405, 0.161753, + -0.064618, -0.064401, -0.007218, -0.00012, -0.047208, + 0.116105, -0.056464, -0.069645, -0.007032, -0.01209, + -0.023237, 0.016, -0.039802, 0.074319, -0.012604, + 0.014863, -0.058081, 0.093219, 0.062253, -0.040302, + 0.027405, -0.128683, 0.039923, 0.116808, -0.011706, + 0.012483, -0.017698, 0.003645, -0.007588, -0.120662, + -0.032868, 0.066217, -0.031343, -0.034166, 0.146334, + -0.031228, -0.125921, 0.117756, -0.042686, -0.062094, + 0.049375, -0.112262, 0.010166, -0.073599, 0.04869, + 0.028292, 0.020076, -0.062865, -0.106114, -0.0253, + 0.066916, 0.029279, 0.028191, -0.003599, -0.040614, + 0.020491, 0.060238, 0.052747, -0.01039, -0.022389, + -0.063358, -0.028707, 0.035907, -0.011898, 0.079703, + -0.003758, 0.078051, -0.017869, 0.009045, -0.018982, + 0.034974, 0.069405, -0.018909, -0.038613, 0.083909, + 0.033935, -0.036607, 0.088891, -0.052599, -0.059839, + 0.052758, -0.068308, -0.063615, 0.126093, -0.00946, + -0.042175, -0.011113, -0.073071, 0.052086, -0.052619, + 0.049226, 0.066898, -0.045666, 0.117923, 0.053656, + -0.010739, -0.043962, 0.141903, 0.001792, -0.035469, + 0.090671, 0.043993, -0.013655, 0.018989, 0.127223, + 0.00103, -0.001154, 0.081839, -0.024979, -0.103704, + -0.07792, 0.036083, 0.06822, -0.06221, 0.11373, + -0.010501, -0.065801, 0.050885, -0.104304, 0.121937, + 0.11185, 0.00968, -0.011791, 0.001677, -0.035029, + 0.010677, 0.024572, -0.01286, -0.030323, -0.010466, + 0.011279, 0.167752, 0.003136, 0.109709, 0.007292, + 0.000987, 0.004572, 0.108706, -0.113192, -0.012431, + -0.015225, 0.073653, -0.051275, 0.077928, -0.012752, + -0.011708, 0.014172, 0.025162, -0.095378, 0.026382, + -0.028889, -0.058569, -0.129329, 0.011087, 0.061452, + 0.056893, -0.058004, 0.103586, -0.060752, 0.081824, + -0.042805, -0.015991, -0.024444, 0.028952, -0.013528, + 0.042851, 0.019988, -0.165741, -0.031012, -0.014713, + -0.026059, 0.031698, -0.134343, 0.03209, 0.020828, + 0.051674, -0.128006, 0.050856, 0.02222, -0.073513, + -0.00934, 0.013756, 0.036163, 0.098407, -0.023495, + 0.023858, 0.008121, 0.02222, -0.103489, -0.046663, + -0.033, 0.063565, 0.029224, -0.012693, 0.084202, + 0.012187, -0.051, 0.026126, -0.043293, 0.008675, + -0.019812, -0.16507, -0.014555, -0.047431, 0.01799, + -0.040073, 0.107192, 0.022228, -0.089023, -0.066885, + 0.01463, 0.073186, 0.069902, 0.072634, 0.019593, + -0.041539, 0.031788, 0.09231, 0.027223, 0.034027, + -0.051855, 0.000391, 0.007869, 0.13191, 0.069384, + 0.046276, 0.04044, -0.037093, -0.031393, -0.112828, + 0.015709, 0.096749, -0.103205, -0.021284, 0.011405, + 0.158287, -0.021028, 0.042219, -0.050759, 0.069715, + -0.042907, -0.11698, 0.014224, 0.094648, 0.028395, + 0.041535, -0.057033, -0.047607, -0.024419, -0.034905, + 0.010125, 0.036728, -0.052503, -0.001839, -0.033477, + -0.053414, -0.070394, 0.092895, 0.1006, -0.026352, + 0.080574, -0.028763, -0.059548, 0.094571, 0.091787, + 0.041437, 0.014312, 0.045792, 0.108269, -0.081586, + 0.056288, 0.137447, 0.054718, -0.032474, 0.054502, + -0.100144, -0.00646, 0.024739, -0.117043, -0.008919, + 0.070299, -0.036862, -0.014543, 0.0245, -0.015222, + 0.114975, -0.043705, 0.000421, -0.061872, -0.035148, + -0.022797, 0.128575, -0.031798, -0.086718, -0.007172, + -0.071706, -0.006833, 0.028645, -0.007011, -0.096745, + -0.142269, 0.027996, 0.06521, 0.061381, 0.000741, + -0.140531, 0.01748, -0.014986, -0.040893, -0.012718, + -0.012494, -0.021869, -0.032923, 0.016456, 0.104475, + 0.010792, -0.066178, 0.019097, -0.001893, 0.067513, + -0.092673, -0.059851, -0.045936, 0.052642, -0.0625, + 0.065013, -0.025659, -0.149301, 0.051705, 0.035692, + -0.04579, -0.007482, -0.069141, 0.149365, -0.042039, + 0.018492, -0.081315, 0.05588, 0.058158, 0.019669, + 0.063836, -0.012391, 0.007057, 0.155454, 0.033854, + -0.016532, -0.007661, 0.043113, -0.080283, -0.10867, + -0.029344, 0.093781, -0.01584, -0.068134, 0.091804, + 0.004148, -0.058507, 0.059633, -0.095883, -0.004939, + 0.086151, -0.113571, -0.019466, -0.009167, 0.003662 +}; + +const struct lsp_codebook lsp_cbjvm[] = { + /* codebook/lspjvm1.txt */ + { + 10, + 9, + 512, + codes0 + }, + /* codebook/lspjvm2.txt */ + { + 5, + 9, + 512, + codes1 + }, + /* codebook/lspjvm3.txt */ + { + 5, + 9, + 512, + codes2 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookvq.c b/DSP_API/CODEC2_FREEDV/codebookvq.c new file mode 100644 index 0000000..bb9f605 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookvq.c @@ -0,0 +1,4223 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lsp1.txt */ +static const float codes0[] = { + 225, + 250, + 275, + 300, + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600 +}; + /* codebook/lsp2.txt */ +static const float codes1[] = { + 325, + 350, + 375, + 400, + 425, + 450, + 475, + 500, + 525, + 550, + 575, + 600, + 625, + 650, + 675, + 700 +}; + /* codebook/lsp3.txt */ +static const float codes2[] = { + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + 1000, + 1050, + 1100, + 1150, + 1200, + 1250 +}; + /* codebook/lsp4.txt */ +static const float codes3[] = { + 700, + 800, + 900, + 1000, + 1100, + 1200, + 1300, + 1400, + 1500, + 1600, + 1700, + 1800, + 1900, + 2000, + 2100, + 2200 +}; + /* ../unittest/lsp45678910.txt */ +static const float codes4[] = { + 1.08123, 1.57884, 1.85557, 1.93731, 2.53244, 2.64981, + 1.0628, 1.45001, 1.83956, 1.9565, 2.48885, 2.65346, + 1.10159, 1.36102, 1.83358, 1.93241, 2.50518, 2.62981, + 1.07906, 1.37686, 1.87269, 1.95508, 2.54134, 2.63378, + 1.09554, 1.63104, 1.86627, 2.06699, 2.50666, 2.57043, + 1.09306, 1.56136, 1.77247, 2.12386, 2.54748, 2.61826, + 1.09365, 1.50021, 1.78605, 2.07712, 2.48377, 2.57254, + 1.03502, 1.48598, 1.67865, 2.07936, 2.40234, 2.51331, + 1.23172, 1.63057, 1.84991, 2.02345, 2.46721, 2.57161, + 1.20636, 1.47819, 1.85565, 2.0092, 2.43743, 2.55238, + 1.20425, 1.49576, 1.8464, 2.03998, 2.50063, 2.59244, + 1.27202, 1.43835, 1.8545, 2.03871, 2.51872, 2.62009, + 1.29891, 1.48336, 1.83887, 1.98366, 2.48837, 2.59701, + 1.38559, 1.50018, 1.81943, 1.9817, 2.50554, 2.61253, + 1.41367, 1.56655, 1.76718, 1.99449, 2.56961, 2.62524, + 1.46905, 1.62608, 1.75177, 2.04119, 2.60895, 2.65878, + 1.48951, 1.61764, 1.68918, 2.05385, 2.66224, 2.70553, + 1.43112, 1.53558, 1.64732, 1.81092, 2.57577, 2.6922, + 1.41167, 1.60617, 1.73036, 1.96937, 2.62811, 2.69185, + 1.34102, 1.63997, 2.19739, 2.28132, 2.44971, 2.626, + 1.31988, 1.67483, 2.10118, 2.28173, 2.49978, 2.61148, + 1.27462, 1.61012, 1.90144, 2.23566, 2.51818, 2.62888, + 1.17221, 1.36564, 1.7847, 1.90445, 2.53808, 2.64619, + 1.09616, 1.35011, 1.75499, 1.86967, 2.48657, 2.6055, + 1.03654, 1.3262, 1.72989, 1.86212, 2.46119, 2.57545, + 1.01653, 1.27725, 1.6888, 1.80838, 2.46298, 2.57624, + 0.968031, 1.32901, 1.71641, 1.82136, 2.48115, 2.56195, + 0.940641, 1.28334, 1.76788, 1.86054, 2.50314, 2.5949, + 0.926995, 1.24333, 1.73891, 1.901, 2.4495, 2.55764, + 0.839883, 1.23712, 1.70215, 1.81262, 2.42139, 2.49298, + 0.924474, 1.18807, 1.75752, 1.8249, 2.45594, 2.61106, + 0.96423, 1.20727, 1.66622, 1.87681, 2.50715, 2.58041, + 0.989772, 1.18973, 1.69345, 1.80714, 2.44571, 2.56195, + 0.919183, 1.20312, 1.67383, 1.77261, 2.3858, 2.51167, + 0.978552, 1.17542, 1.61386, 1.72687, 2.32896, 2.5167, + 1.01454, 1.25425, 1.58728, 1.75663, 2.40306, 2.51083, + 1.09672, 1.23117, 1.5574, 1.84394, 2.46358, 2.55546, + 1.16877, 1.35118, 1.61393, 1.83103, 2.47627, 2.58122, + 1.17651, 1.26415, 1.56492, 1.76049, 2.48352, 2.58104, + 1.01797, 1.24983, 1.42449, 1.59354, 2.45834, 2.52503, + 1.05399, 1.21603, 1.51742, 1.85194, 2.34275, 2.50233, + 0.908986, 1.2508, 1.59392, 1.8871, 2.37309, 2.53013, + 0.993871, 1.16402, 1.61662, 1.77573, 2.56946, 2.65857, + 1.10248, 1.38615, 1.57368, 1.78564, 2.31793, 2.50856, + 1.20724, 1.39083, 1.55105, 1.85061, 2.33598, 2.49433, + 0.905032, 1.41648, 1.58005, 1.84183, 2.50381, 2.6016, + 0.79589, 1.10793, 1.59771, 2.0155, 2.40215, 2.53461, + 0.732401, 1.15861, 1.55747, 1.938, 2.62642, 2.70543, + 0.85967, 1.12906, 1.67186, 1.95399, 2.51479, 2.61587, + 0.921647, 1.24536, 1.68375, 1.89446, 2.59964, 2.71656, + 0.845409, 1.19476, 1.76731, 1.84451, 2.58977, 2.71694, + 0.977678, 1.1414, 1.66711, 1.92383, 2.63201, 2.68907, + 0.951137, 1.12255, 1.71418, 1.8859, 2.53576, 2.67211, + 1.02995, 1.15955, 1.73944, 1.92833, 2.48818, 2.62352, + 0.925634, 1.22593, 1.7518, 1.97075, 2.5329, 2.62107, + 1.0123, 1.21143, 1.79395, 1.88586, 2.46727, 2.57249, + 0.993978, 1.13747, 1.74347, 1.84089, 2.39008, 2.56639, + 0.989822, 1.17307, 1.68756, 1.94893, 2.32553, 2.47342, + 0.955854, 1.23723, 1.80741, 2.11677, 2.39103, 2.50278, + 1.10336, 1.35799, 1.85224, 2.09709, 2.39275, 2.55324, + 1.12887, 1.4409, 1.92791, 2.1767, 2.40798, 2.54428, + 1.31613, 1.57544, 1.96457, 2.15894, 2.48584, 2.57613, + 1.4696, 1.7721, 1.95484, 2.16407, 2.39962, 2.48192, + 1.50652, 1.75488, 2.01841, 2.24949, 2.48627, 2.60761, + 1.52419, 1.77645, 2.05458, 2.27569, 2.58498, 2.66908, + 1.518, 1.85028, 2.02643, 2.30188, 2.57753, 2.66918, + 1.42205, 1.78898, 1.96748, 2.18477, 2.59685, 2.69968, + 1.20841, 1.4347, 1.92362, 2.00377, 2.60293, 2.68501, + 1.22117, 1.43657, 1.87997, 2.0334, 2.49815, 2.69542, + 1.21771, 1.37598, 1.90861, 1.97303, 2.48056, 2.6454, + 1.20035, 1.41224, 1.86328, 2.05454, 2.40923, 2.64633, + 1.43945, 1.67593, 2.06471, 2.27323, 2.60645, 2.69621, + 1.54757, 1.95602, 2.08379, 2.38708, 2.63432, 2.71122, + 1.74537, 1.99526, 2.17627, 2.40949, 2.63225, 2.70742, + 1.81929, 1.98216, 2.21017, 2.45219, 2.60377, 2.66452, + 1.66955, 1.94018, 2.10087, 2.38694, 2.53082, 2.63087, + 1.59768, 1.94591, 2.07284, 2.33889, 2.54425, 2.60825, + 1.65615, 1.88869, 1.98455, 2.30113, 2.51078, 2.58636, + 1.6188, 1.89886, 2.02474, 2.29131, 2.44053, 2.56029, + 1.48128, 1.82621, 1.97192, 2.19291, 2.41702, 2.53029, + 1.31873, 1.58154, 1.84545, 2.164, 2.38923, 2.50542, + 1.34133, 1.56585, 1.80288, 2.21848, 2.43077, 2.54583, + 1.31851, 1.41266, 1.67762, 2.18235, 2.37275, 2.47653, + 1.24372, 1.45667, 1.66571, 2.12671, 2.33287, 2.43845, + 1.1525, 1.45886, 1.58294, 2.03752, 2.3421, 2.4283, + 1.02538, 1.4076, 1.55153, 1.84679, 2.28286, 2.38544, + 0.87656, 1.38433, 1.5829, 1.74194, 2.23992, 2.33845, + 0.953781, 1.44188, 1.5924, 1.76417, 2.29409, 2.4742, + 0.899968, 1.45403, 1.63436, 1.72431, 2.3534, 2.5975, + 0.784159, 1.42393, 1.73726, 1.85596, 2.39003, 2.61454, + 0.802442, 1.39707, 1.65855, 1.81679, 2.42939, 2.5001, + 0.863071, 1.31849, 1.64602, 1.81297, 2.3981, 2.50385, + 0.89687, 1.30624, 1.67159, 1.90217, 2.46653, 2.60152, + 0.999503, 1.30429, 1.70842, 1.89904, 2.51234, 2.65519, + 1.04528, 1.2663, 1.66963, 1.84632, 2.51707, 2.63748, + 1.03846, 1.15853, 1.64378, 1.86528, 2.5832, 2.65894, + 1.02632, 1.21931, 1.76835, 1.84092, 2.53817, 2.67333, + 1.08097, 1.21543, 1.73019, 1.83693, 2.23686, 2.60887, + 1.1018, 1.43151, 1.75208, 1.91896, 2.09124, 2.53896, + 1.17873, 1.29731, 1.7241, 1.85075, 2.31029, 2.62153, + 1.15118, 1.23968, 1.75479, 1.85052, 2.5391, 2.70599, + 1.2027, 1.3006, 1.76334, 1.86743, 2.47072, 2.66465, + 1.26112, 1.36868, 1.75328, 1.84665, 2.46151, 2.6526, + 1.26307, 1.36429, 1.79767, 1.87694, 2.54373, 2.66022, + 1.32015, 1.41593, 1.80983, 1.90322, 2.51555, 2.64824, + 1.33987, 1.45935, 1.80668, 1.92458, 2.49148, 2.58705, + 1.35517, 1.45177, 1.7634, 1.94416, 2.47263, 2.56117, + 1.32792, 1.42891, 1.70445, 1.91482, 2.39737, 2.50347, + 1.3076, 1.41535, 1.61629, 1.84079, 2.32217, 2.47099, + 1.24825, 1.34921, 1.61761, 1.77273, 2.25068, 2.48653, + 1.09657, 1.35568, 1.62611, 1.94199, 2.31385, 2.49821, + 1.01253, 1.34284, 1.64785, 1.90716, 2.43593, 2.53319, + 0.944393, 1.39928, 1.643, 1.93199, 2.33198, 2.48991, + 0.883306, 1.40234, 1.70636, 2.02537, 2.37371, 2.54371, + 0.829559, 1.23577, 1.71275, 2.18485, 2.38674, 2.54418, + 0.923799, 1.51311, 1.70309, 2.10529, 2.47648, 2.55516, + 0.772688, 1.4433, 1.65612, 2.05301, 2.45044, 2.53252, + 0.776285, 1.4032, 1.73402, 1.93526, 2.46409, 2.5668, + 0.782396, 1.41881, 1.75888, 1.97322, 2.54833, 2.6103, + 0.789572, 1.41108, 1.77153, 2.06041, 2.54026, 2.63125, + 0.774326, 1.28802, 1.83727, 1.96095, 2.51242, 2.58163, + 0.811751, 1.27403, 1.81001, 1.88574, 2.56546, 2.63922, + 0.844982, 1.32083, 1.87391, 1.9446, 2.56105, 2.66172, + 0.881256, 1.69536, 1.90698, 2.07889, 2.61855, 2.67865, + 1.09989, 1.72782, 1.97132, 2.15314, 2.50969, 2.60295, + 1.17385, 1.68544, 1.91746, 2.14743, 2.38305, 2.56703, + 1.10155, 1.54322, 1.82061, 2.05532, 2.33872, 2.58503, + 0.975012, 1.37972, 1.77663, 2.03329, 2.19415, 2.51822, + 0.967054, 1.08246, 1.61897, 2.07793, 2.20684, 2.37089, + 1.00961, 1.12061, 1.53418, 2.08853, 2.28294, 2.42058, + 0.899159, 1.20852, 1.42369, 1.97032, 2.28727, 2.4989, + 0.879682, 1.31448, 1.47949, 1.68936, 2.20974, 2.28576, + 1.03347, 1.24384, 1.47314, 1.66799, 2.15942, 2.25504, + 1.04841, 1.25589, 1.537, 1.82005, 2.14225, 2.31375, + 1.04825, 1.18926, 1.70511, 1.83599, 2.10545, 2.37206, + 1.03432, 1.13888, 1.51462, 1.82966, 2.17045, 2.42561, + 1.10388, 1.21765, 1.62215, 1.80585, 2.02753, 2.37681, + 1.08723, 1.19501, 1.55902, 1.89504, 2.25012, 2.3792, + 1.13001, 1.29387, 1.6924, 1.85888, 2.1972, 2.34906, + 1.16289, 1.3046, 1.69102, 1.96932, 2.26861, 2.43029, + 1.15181, 1.25793, 1.67383, 1.90202, 2.18916, 2.45871, + 1.16844, 1.27183, 1.55733, 2.08415, 2.30803, 2.42037, + 1.2351, 1.34019, 1.65679, 2.09516, 2.28319, 2.40964, + 1.25239, 1.35536, 1.60985, 2.08519, 2.33271, 2.48887, + 1.22631, 1.34399, 1.67305, 2.21553, 2.46, 2.54692, + 1.40818, 1.56645, 1.70193, 2.1551, 2.54024, 2.58859, + 1.304, 1.549, 1.65358, 2.12874, 2.58947, 2.63332, + 1.31253, 1.48894, 1.69055, 1.98288, 2.55839, 2.62252, + 1.30359, 1.48566, 1.773, 1.99142, 2.55563, 2.65006, + 1.2572, 1.52892, 1.88049, 2.04567, 2.40009, 2.56749, + 1.29472, 1.63432, 1.91154, 2.04666, 2.43808, 2.61113, + 1.32844, 1.71607, 1.8503, 2.02126, 2.50705, 2.61286, + 1.13808, 1.26904, 1.79259, 1.89815, 2.53041, 2.65356, + 1.02479, 1.14554, 1.68822, 1.81293, 2.42504, 2.65093, + 1.05666, 1.17804, 1.59034, 1.74735, 2.36845, 2.61871, + 0.994299, 1.11084, 1.63265, 1.73054, 2.33769, 2.5503, + 0.96003, 1.10348, 1.6328, 1.74508, 2.19725, 2.53053, + 0.952099, 1.07891, 1.70416, 1.83731, 2.31907, 2.54431, + 0.901034, 1.0748, 1.65366, 1.78859, 2.39383, 2.53312, + 0.970595, 1.13005, 1.56835, 1.82097, 2.44511, 2.56337, + 0.8832, 1.02914, 1.48058, 1.88436, 2.32162, 2.47072, + 0.817959, 0.941844, 1.41014, 1.54071, 2.17404, 2.48277, + 0.772028, 0.888033, 1.49012, 1.71709, 2.32435, 2.56046, + 0.8742, 1.0201, 1.57148, 1.74681, 2.43739, 2.56133, + 0.827282, 1.01003, 1.60538, 1.75068, 2.26185, 2.4816, + 0.790605, 1.149, 1.65382, 1.78105, 2.35864, 2.49161, + 0.746581, 0.96108, 1.60491, 1.879, 2.31927, 2.55158, + 0.845418, 0.96953, 1.69617, 1.89093, 2.30188, 2.62149, + 0.826083, 1.01605, 1.6586, 1.85255, 2.43588, 2.57274, + 0.80426, 0.948999, 1.68449, 2.10334, 2.47505, 2.57585, + 0.837016, 1.03, 1.67699, 1.79665, 2.49802, 2.63103, + 0.779629, 0.917041, 1.60707, 1.8689, 2.45957, 2.6289, + 0.802981, 0.922379, 1.55614, 1.96784, 2.59545, 2.69251, + 0.821239, 0.952349, 1.58525, 2.0958, 2.59371, 2.65593, + 0.819528, 1.10955, 1.52684, 1.76751, 2.6378, 2.71051, + 0.846222, 1.05572, 1.70728, 1.83863, 2.114, 2.5014, + 0.956553, 1.43985, 1.7249, 1.93982, 2.14519, 2.43191, + 1.33429, 1.55159, 1.7214, 2.01917, 2.178, 2.32944, + 1.24736, 1.57146, 1.83452, 2.11416, 2.26821, 2.48981, + 1.22315, 1.57342, 1.84625, 2.01609, 2.21928, 2.45785, + 1.23993, 1.53779, 1.8228, 2.04648, 2.44445, 2.57805, + 1.29968, 1.55774, 1.7983, 2.08069, 2.39337, 2.5752, + 1.27312, 1.47413, 1.81487, 2.01491, 2.40501, 2.60292, + 1.22903, 1.4485, 1.75715, 2.05057, 2.41716, 2.59461, + 1.2063, 1.5151, 1.78896, 2.04215, 2.36856, 2.5858, + 1.1589, 1.5448, 1.86145, 2.06665, 2.40525, 2.59099, + 1.20326, 1.47986, 1.83352, 2.07062, 2.4318, 2.5857, + 1.17077, 1.55578, 1.82667, 2.07708, 2.46748, 2.61941, + 1.11628, 1.59353, 1.82425, 2.16082, 2.42781, 2.60049, + 1.25031, 1.6173, 1.96265, 2.15224, 2.53124, 2.63143, + 1.353, 1.64524, 2.07019, 2.18038, 2.61203, 2.68877, + 1.46033, 1.91719, 2.08682, 2.31459, 2.64118, 2.72306, + 1.5571, 1.91661, 2.0569, 2.2632, 2.64033, 2.7028, + 1.41067, 1.90339, 2.07783, 2.22294, 2.6154, 2.69412, + 1.34049, 1.80404, 2.04002, 2.14956, 2.60771, 2.67815, + 1.09068, 1.32106, 1.86274, 1.98378, 2.47586, 2.59244, + 1.00246, 1.26551, 1.81302, 1.90434, 2.49926, 2.62654, + 1.05139, 1.16129, 1.83253, 1.95508, 2.50234, 2.62475, + 0.942516, 1.06424, 1.66956, 1.97725, 2.46418, 2.59833, + 0.869608, 0.984141, 1.45461, 1.95618, 2.50789, 2.61787, + 0.972489, 1.13547, 1.52915, 1.72998, 2.41157, 2.57108, + 1.05128, 1.14941, 1.54752, 1.82715, 2.51133, 2.61762, + 1.07974, 1.19121, 1.53936, 1.94473, 2.54524, 2.63216, + 1.18206, 1.26003, 1.5961, 2.08466, 2.51186, 2.57941, + 1.172, 1.35276, 1.46275, 2.01506, 2.62536, 2.67937, + 1.20054, 1.32298, 1.5156, 1.7692, 2.52314, 2.66683, + 1.22809, 1.30713, 1.73403, 1.91475, 2.24482, 2.56203, + 1.17619, 1.32166, 1.78231, 1.88258, 2.27136, 2.52145, + 1.15003, 1.48622, 1.77415, 1.97093, 2.38508, 2.61264, + 1.10316, 1.455, 1.72062, 1.89959, 2.35671, 2.59138, + 1.07047, 1.38631, 1.74693, 1.89198, 2.36751, 2.54357, + 0.95361, 1.17616, 1.64355, 1.91998, 2.37206, 2.57246, + 1.05232, 1.40517, 1.68895, 1.83167, 2.54288, 2.63248, + 0.996802, 1.44143, 1.68446, 1.82195, 2.59599, 2.65884, + 1.02655, 1.33494, 1.74094, 1.84038, 2.57165, 2.67897, + 1.10832, 1.20084, 1.70613, 1.99908, 2.51466, 2.64821, + 1.13332, 1.21947, 1.74777, 2.01308, 2.40664, 2.64036, + 1.14214, 1.21872, 1.81464, 1.95106, 2.43007, 2.66618, + 1.08156, 1.20709, 1.84645, 1.94628, 2.33914, 2.61266, + 1.14637, 1.23863, 1.87425, 1.9681, 2.42738, 2.59563, + 1.06941, 1.39313, 1.85976, 1.94182, 2.37447, 2.53818, + 1.06022, 1.40293, 1.78464, 1.90995, 2.08085, 2.37542, + 0.893759, 1.22533, 1.74143, 1.89549, 2.06221, 2.44178, + 0.911307, 1.30139, 1.65149, 1.79817, 1.99688, 2.20866, + 1.10291, 1.50331, 1.70777, 1.80853, 1.95863, 2.31168, + 1.14945, 1.32806, 1.73828, 1.90461, 2.06187, 2.25797, + 1.12135, 1.23056, 1.74878, 1.95066, 2.08647, 2.38929, + 0.94897, 1.10189, 1.67664, 1.87539, 2.01682, 2.29668, + 1.03508, 1.16223, 1.64138, 1.95271, 2.10095, 2.35872, + 0.994183, 1.11431, 1.5476, 1.77373, 1.96608, 2.3363, + 1.02511, 1.1397, 1.58524, 1.91237, 2.10246, 2.48243, + 0.955352, 1.06222, 1.65906, 1.84841, 2.04328, 2.48743, + 1.0491, 1.12055, 1.44698, 1.94902, 2.0269, 2.56059, + 1.01243, 1.13828, 1.36794, 2.00847, 2.18944, 2.42242, + 1.08203, 1.23491, 1.35176, 1.82717, 2.17316, 2.30024, + 1.09436, 1.23514, 1.41642, 1.92259, 2.12823, 2.41941, + 1.03451, 1.15131, 1.49236, 1.98085, 2.14904, 2.36531, + 1.01309, 1.15454, 1.45996, 1.94304, 2.28176, 2.39727, + 0.987103, 1.27435, 1.56187, 1.91746, 2.33429, 2.49565, + 0.989791, 1.28917, 1.62314, 1.98233, 2.34503, 2.54805, + 1.04201, 1.22597, 1.61002, 1.9748, 2.40631, 2.53704, + 1.01969, 1.32372, 1.67908, 1.98369, 2.44302, 2.56193, + 1.03098, 1.24991, 1.75329, 1.9703, 2.44275, 2.5771, + 1.07865, 1.28137, 1.82168, 2.04699, 2.51249, 2.6143, + 1.0425, 1.31828, 1.81754, 1.97774, 2.53877, 2.64347, + 1.03375, 1.32343, 1.88596, 1.99364, 2.58713, 2.64829, + 1.08416, 1.43412, 1.89966, 1.97448, 2.66167, 2.7171, + 1.09579, 1.4813, 1.91655, 1.97041, 2.67123, 2.73097, + 1.14796, 1.55307, 1.88454, 1.96066, 2.50184, 2.66788, + 1.13778, 1.49891, 1.96262, 2.04724, 2.53731, 2.64235, + 1.10886, 1.43549, 1.95549, 2.19587, 2.51428, 2.60153, + 1.19107, 1.55785, 1.98454, 2.27079, 2.54188, 2.64206, + 1.11074, 1.55308, 1.97813, 2.21105, 2.61337, 2.70664, + 1.11409, 1.72802, 1.97504, 2.12448, 2.60293, 2.68194, + 1.14848, 1.62709, 1.96813, 2.0739, 2.60736, 2.68667, + 1.109, 1.45065, 1.9611, 2.05861, 2.61165, 2.69461, + 1.0959, 1.31876, 1.86664, 2.09629, 2.57468, 2.65884, + 1.11656, 1.36797, 1.92253, 2.01651, 2.54944, 2.64623, + 1.12947, 1.52911, 1.9422, 2.00334, 2.52787, 2.69992, + 1.13905, 1.67954, 1.94587, 2.03292, 2.53743, 2.64217, + 1.21921, 1.59942, 1.9296, 2.01109, 2.5391, 2.70528, + 1.23397, 1.5562, 1.931, 2.08479, 2.57858, 2.67583, + 1.23443, 1.65374, 2.03321, 2.25676, 2.63755, 2.69966, + 1.25529, 1.47504, 2.02254, 2.28923, 2.58769, 2.70395, + 1.25339, 1.4722, 1.9564, 2.21119, 2.57424, 2.6761, + 1.12685, 1.58721, 1.95082, 2.03149, 2.41685, 2.61446, + 1.00706, 1.6083, 1.89623, 1.98634, 2.22302, 2.52403, + 1.06728, 1.72945, 1.93189, 2.04533, 2.16485, 2.40091, + 0.94666, 1.69978, 1.87062, 1.98183, 2.13567, 2.44769, + 1.00269, 1.72856, 1.93991, 2.07252, 2.27479, 2.46748, + 1.14879, 1.60055, 2.00306, 2.12803, 2.40911, 2.50653, + 1.19137, 1.35951, 1.90844, 2.11699, 2.36908, 2.52939, + 1.22974, 1.31636, 1.90147, 2.00117, 2.36835, 2.5757, + 1.16745, 1.28408, 1.85155, 2.05628, 2.44629, 2.57376, + 1.17705, 1.28298, 1.79608, 2.01457, 2.4099, 2.52443, + 1.16655, 1.28173, 1.80413, 1.93859, 2.38305, 2.5438, + 1.14471, 1.2662, 1.75578, 1.86551, 2.35412, 2.57514, + 1.16847, 1.28356, 1.69505, 1.81754, 2.30279, 2.52956, + 1.09347, 1.31611, 1.62583, 1.79105, 2.30331, 2.40856, + 1.07299, 1.21888, 1.58691, 1.72531, 2.2192, 2.34352, + 0.946241, 1.17284, 1.42629, 1.55168, 2.19257, 2.32173, + 1.0018, 1.17498, 1.50744, 1.69786, 2.2408, 2.47824, + 0.992564, 1.25778, 1.42909, 1.81983, 2.23415, 2.43492, + 0.933586, 1.25556, 1.37246, 1.68627, 2.26598, 2.34947, + 0.987914, 1.16288, 1.40442, 1.56348, 2.22767, 2.48537, + 1.05858, 1.18583, 1.32538, 1.44559, 2.16451, 2.45514, + 1.04227, 1.14961, 1.38904, 1.47383, 1.90667, 2.39013, + 0.966952, 1.07554, 1.28815, 1.4051, 2.06186, 2.45199, + 0.90153, 1.19448, 1.35473, 1.70575, 2.32503, 2.43481, + 1.03842, 1.29243, 1.52731, 1.90984, 2.23033, 2.46514, + 1.33601, 1.44169, 1.84913, 2.20803, 2.4144, 2.53251, + 1.43622, 1.64565, 2.00864, 2.19816, 2.50228, 2.60141, + 1.42434, 1.68443, 1.92981, 2.1225, 2.51228, 2.60486, + 1.4522, 1.72299, 1.96221, 2.15666, 2.4841, 2.58459, + 1.482, 1.73524, 1.97119, 2.2228, 2.51231, 2.62362, + 1.39256, 1.72127, 1.9403, 2.17497, 2.48894, 2.60185, + 1.24335, 1.55846, 1.80982, 1.99089, 2.38197, 2.53748, + 1.19929, 1.4215, 1.76311, 1.99088, 2.35892, 2.48956, + 1.21777, 1.34878, 1.71467, 1.91684, 2.37973, 2.45696, + 1.21952, 1.32685, 1.71966, 1.83808, 2.29933, 2.43541, + 1.26307, 1.35366, 1.78723, 1.91897, 2.32039, 2.44825, + 1.27096, 1.3738, 1.71818, 1.85793, 2.36692, 2.48175, + 1.28435, 1.36807, 1.79391, 1.89508, 2.35679, 2.5246, + 1.24479, 1.35366, 1.78295, 1.92869, 2.22572, 2.37995, + 1.26928, 1.36873, 1.71918, 1.90968, 2.26716, 2.49154, + 1.24931, 1.33819, 1.79992, 1.9171, 2.27469, 2.53322, + 1.1795, 1.25905, 1.80297, 1.92733, 2.22893, 2.50364, + 1.14096, 1.2459, 1.70866, 1.92379, 2.24346, 2.55734, + 1.06395, 1.20903, 1.73729, 1.94535, 2.3387, 2.57309, + 1.00347, 1.10916, 1.74513, 1.90219, 2.30844, 2.60161, + 0.937618, 1.07754, 1.7478, 1.86965, 2.20505, 2.57045, + 0.885099, 1.19245, 1.79054, 1.87616, 2.36031, 2.59811, + 0.803485, 0.966415, 1.76846, 1.92874, 2.19672, 2.53046, + 0.797205, 1.12072, 1.77658, 1.87857, 2.37036, 2.61434, + 0.831514, 1.05908, 1.8088, 1.90548, 2.44821, 2.57305, + 0.806597, 0.967446, 1.82939, 1.96368, 2.35863, 2.65324, + 0.699378, 0.851831, 1.73945, 1.93394, 2.51638, 2.65525, + 0.739203, 1.03399, 1.90211, 2.01033, 2.49415, 2.62982, + 0.945605, 1.07971, 1.79635, 2.03954, 2.58186, 2.69978, + 0.843512, 1.30486, 1.83545, 2.03683, 2.60022, 2.67783, + 0.970152, 1.41437, 1.85405, 1.95779, 2.59605, 2.66543, + 1.06728, 1.43854, 1.88843, 2.06709, 2.53102, 2.64318, + 1.11762, 1.56311, 1.88632, 2.21887, 2.53022, 2.62408, + 1.20966, 1.62691, 1.9437, 2.18743, 2.55509, 2.65867, + 1.33889, 1.81288, 2.03089, 2.3052, 2.56927, 2.66116, + 1.30337, 1.8401, 2.03598, 2.28675, 2.61423, 2.71336, + 1.19343, 1.72735, 1.9262, 2.1844, 2.57478, 2.63181, + 1.06351, 1.71719, 1.90366, 2.11905, 2.44481, 2.49767, + 1.06218, 1.18895, 1.81048, 2.04498, 2.32238, 2.57878, + 1.0732, 1.17756, 1.65473, 2.02326, 2.20037, 2.44287, + 1.02781, 1.16542, 1.66947, 1.85961, 2.20214, 2.46247, + 1.03558, 1.14824, 1.6049, 1.87255, 2.25785, 2.55168, + 1.00721, 1.13109, 1.57915, 1.96979, 2.33164, 2.50791, + 0.908594, 1.0056, 1.46327, 2.07237, 2.30436, 2.40736, + 0.981614, 1.12643, 1.28057, 1.88685, 2.10192, 2.48784, + 1.00676, 1.13256, 1.25309, 1.71832, 2.18925, 2.4366, + 0.89983, 1.15654, 1.26075, 1.69671, 2.11666, 2.2283, + 0.896996, 1.24655, 1.43687, 1.64519, 2.07364, 2.14913, + 0.965481, 1.06967, 1.44649, 1.94949, 2.09158, 2.29833, + 0.898113, 1.05877, 1.61756, 1.94155, 2.11357, 2.37474, + 0.769481, 1.15938, 1.59741, 1.95985, 2.28384, 2.4182, + 0.908091, 1.30534, 1.47357, 1.86255, 2.16415, 2.33109, + 0.924282, 1.33469, 1.5632, 2.04354, 2.40601, 2.51576, + 0.972939, 1.38197, 1.54999, 2.02124, 2.26849, 2.41933, + 1.03223, 1.48403, 1.62003, 1.95223, 2.26732, 2.48644, + 1.00523, 1.35469, 1.6202, 1.77792, 2.22307, 2.49757, + 1.07274, 1.24504, 1.66167, 1.81939, 2.2605, 2.4687, + 1.13447, 1.25048, 1.73703, 1.86897, 2.3032, 2.46643, + 1.14594, 1.29326, 1.72851, 1.95098, 2.35098, 2.50402, + 1.22636, 1.3298, 1.75078, 1.98214, 2.34784, 2.55303, + 1.2348, 1.32811, 1.69673, 2.06056, 2.43731, 2.5356, + 1.24713, 1.3605, 1.74295, 1.96135, 2.47408, 2.66845, + 1.23474, 1.32984, 1.68863, 1.91333, 2.44294, 2.6277, + 1.23043, 1.32664, 1.69759, 1.80604, 2.38147, 2.61854, + 1.18857, 1.27308, 1.70898, 1.969, 2.34068, 2.58896, + 1.20428, 1.33122, 1.83552, 2.14126, 2.46323, 2.58349, + 1.20237, 1.39722, 1.86375, 2.15516, 2.59973, 2.68119, + 1.21758, 1.3333, 1.7639, 1.99498, 2.60184, 2.68482, + 1.27237, 1.36445, 1.77635, 1.9521, 2.56342, 2.67617, + 1.33017, 1.43465, 1.82509, 1.93803, 2.57941, 2.6661, + 1.38355, 1.51477, 1.77471, 2.135, 2.52858, 2.61471, + 1.48823, 1.63125, 1.79594, 2.18059, 2.49779, 2.58593, + 1.49785, 1.59843, 1.7604, 1.98572, 2.53807, 2.62222, + 1.44651, 1.55569, 1.67548, 1.89962, 2.54707, 2.63713, + 1.42019, 1.65176, 1.88812, 2.20156, 2.49872, 2.62437, + 1.52485, 1.74892, 1.93948, 2.13259, 2.42662, 2.6043, + 1.58821, 1.78697, 1.96571, 2.12325, 2.41743, 2.57989, + 1.60305, 1.80525, 1.93272, 2.08806, 2.49088, 2.62847, + 1.52171, 1.85304, 1.96816, 2.19842, 2.53092, 2.59723, + 1.49631, 1.78581, 2.00198, 2.20617, 2.57416, 2.64528, + 1.4052, 1.50056, 1.90867, 2.17922, 2.54373, 2.64577, + 1.36955, 1.50131, 1.8488, 2.08986, 2.55112, 2.64362, + 1.39538, 1.48864, 1.8724, 2.02812, 2.53026, 2.59919, + 1.35458, 1.50897, 1.84888, 1.97668, 2.50493, 2.57936, + 1.32575, 1.41133, 1.83713, 1.97079, 2.50272, 2.58483, + 1.2645, 1.39044, 1.76476, 2.08734, 2.51928, 2.62504, + 1.2809, 1.35565, 1.79029, 1.99571, 2.50257, 2.58736, + 1.26744, 1.36084, 1.85803, 2.03563, 2.50938, 2.58487, + 1.2389, 1.48754, 1.78666, 2.08035, 2.48091, 2.58214, + 1.22871, 1.44114, 1.71596, 1.89333, 2.50707, 2.56513, + 1.16735, 1.39731, 1.67205, 1.92353, 2.43839, 2.52352, + 1.16923, 1.35681, 1.56743, 1.95038, 2.37895, 2.46801, + 1.24024, 1.4709, 1.62973, 2.02468, 2.37672, 2.45487, + 1.37086, 1.66529, 1.8315, 2.17643, 2.4864, 2.58657, + 1.51337, 1.65704, 1.96501, 2.29801, 2.53215, 2.62301, + 1.44694, 1.61268, 1.92909, 2.2323, 2.46621, 2.56515, + 1.43066, 1.66453, 1.88216, 2.23458, 2.42166, 2.52729, + 1.51155, 1.65893, 1.94404, 2.1985, 2.45195, 2.58835, + 1.53944, 1.74136, 2.11106, 2.22992, 2.43894, 2.61506, + 1.51095, 1.84689, 2.06179, 2.20245, 2.48411, 2.57263, + 1.36639, 1.61165, 2.07937, 2.26007, 2.46706, 2.58803, + 1.38358, 1.64134, 1.99735, 2.22615, 2.49144, 2.61163, + 1.38146, 1.7069, 1.96306, 2.12555, 2.5968, 2.68111, + 1.36003, 1.55825, 1.94966, 2.05483, 2.59957, 2.71455, + 1.37934, 1.49178, 1.9259, 2.04634, 2.53937, 2.69605, + 1.31327, 1.4694, 1.86311, 2.14175, 2.55396, 2.6681, + 1.20152, 1.563, 1.92503, 2.09301, 2.47661, 2.61441, + 0.965563, 1.66213, 1.8361, 2.07187, 2.53005, 2.57845, + 0.976435, 1.63512, 1.84473, 2.00512, 2.55308, 2.61415, + 1.09816, 1.54948, 1.82643, 1.90791, 2.49067, 2.62563, + 0.971599, 1.43193, 1.81819, 1.92319, 2.49384, 2.56812, + 0.881008, 1.27287, 1.90143, 1.95922, 2.51367, 2.59602, + 0.915929, 1.47877, 1.9557, 2.08255, 2.49435, 2.58578, + 1.00818, 1.57939, 1.8982, 2.13917, 2.47763, 2.55121, + 0.937399, 1.50757, 1.80391, 1.92259, 2.54605, 2.6373, + 0.848413, 1.35823, 1.78393, 1.90623, 2.47701, 2.58853, + 0.863404, 1.48863, 1.8355, 1.93003, 2.4655, 2.54532, + 0.844376, 1.62228, 1.8268, 2.04836, 2.49055, 2.54581, + 0.869731, 1.70503, 1.8547, 2.1116, 2.51701, 2.59345, + 0.862235, 1.62302, 1.89937, 2.02871, 2.52784, 2.5748, + 0.931658, 1.57634, 1.85361, 1.97512, 2.54224, 2.61479, + 0.848799, 1.58841, 1.8471, 1.9559, 2.53407, 2.58456, + 0.737814, 1.45722, 1.82999, 1.9662, 2.50127, 2.57945, + 0.786199, 1.10008, 1.86037, 1.96428, 2.41936, 2.56613, + 0.728962, 1.04084, 1.77382, 1.96373, 2.35695, 2.57887, + 0.733093, 1.14778, 1.78977, 1.90929, 2.34982, 2.4811, + 0.785959, 1.28024, 1.73049, 1.9267, 2.34691, 2.42248, + 0.784924, 1.44682, 1.66969, 1.93537, 2.36832, 2.4596, + 0.758523, 1.46692, 1.8059, 1.94659, 2.35221, 2.42634, + 0.767907, 1.54429, 1.76817, 2.00394, 2.23904, 2.38619, + 0.896374, 1.56207, 1.71693, 1.9033, 2.30824, 2.43058, + 0.83453, 1.50481, 1.73742, 1.91773, 2.40928, 2.49329, + 0.896027, 1.40695, 1.73003, 1.90333, 2.43125, 2.53972, + 1.03967, 1.36412, 1.80628, 1.94817, 2.44069, 2.55797, + 1.09345, 1.41236, 1.83372, 1.9401, 2.48965, 2.56445, + 1.19018, 1.38617, 1.8487, 1.9562, 2.48155, 2.58088, + 1.24316, 1.35042, 1.8118, 1.89359, 2.46758, 2.61352, + 1.22199, 1.30871, 1.81591, 1.91199, 2.41753, 2.601, + 1.22837, 1.34362, 1.76316, 1.8726, 2.39489, 2.58272, + 1.27839, 1.38971, 1.7385, 1.87027, 2.42085, 2.53285, + 1.21164, 1.40179, 1.71015, 1.81102, 2.36383, 2.48224, + 1.1615, 1.40068, 1.76667, 1.89174, 2.39261, 2.49592, + 1.11494, 1.40549, 1.71834, 1.92742, 2.35682, 2.46833, + 1.07468, 1.45296, 1.66872, 1.89809, 2.33653, 2.44346, + 1.00671, 1.35625, 1.62948, 1.84847, 2.31389, 2.42632, + 0.966452, 1.45792, 1.65469, 1.90639, 2.32006, 2.41834, + 0.939007, 1.51999, 1.66701, 1.98942, 2.39067, 2.48895, + 0.94684, 1.48398, 1.70109, 2.10557, 2.39144, 2.49007, + 0.909129, 1.50106, 1.66537, 2.00494, 2.2567, 2.38984, + 0.958919, 1.39061, 1.68008, 2.10716, 2.29725, 2.44084, + 1.46216, 1.58856, 1.80854, 2.10989, 2.26483, 2.41747, + 1.30164, 1.67381, 1.89252, 2.16811, 2.47756, 2.56162, + 1.15277, 1.52933, 1.78378, 2.01435, 2.44661, 2.56093, + 1.1287, 1.49302, 1.74816, 1.93027, 2.53067, 2.62159, + 1.16436, 1.49686, 1.76766, 1.87114, 2.60725, 2.68479, + 1.12271, 1.38051, 1.76224, 1.8756, 2.44152, 2.73281, + 1.17391, 1.54593, 1.8438, 1.93379, 2.12345, 2.62901, + 1.15544, 1.46581, 1.79388, 1.92855, 2.16855, 2.60961, + 1.14781, 1.48454, 1.81642, 1.90876, 2.26262, 2.70408, + 1.18587, 1.39352, 1.81185, 1.88111, 2.54429, 2.7359, + 1.1533, 1.45114, 1.8554, 1.88862, 2.60331, 2.73808, + 1.20885, 1.58236, 1.78486, 1.88009, 2.59648, 2.72788, + 1.19484, 1.5429, 1.91906, 2.02314, 2.55189, 2.63419, + 1.23033, 1.49206, 1.93722, 2.13361, 2.61573, 2.69023, + 1.25876, 1.58131, 1.98007, 2.13876, 2.59904, 2.69103, + 1.22069, 1.57296, 1.91721, 2.17754, 2.59959, 2.70201, + 1.25814, 1.55663, 1.87174, 2.13263, 2.58551, 2.67331, + 1.23377, 1.59824, 1.84996, 2.01367, 2.54286, 2.63448, + 1.26976, 1.56079, 1.86522, 2.07633, 2.52108, 2.61744, + 1.11656, 1.68088, 1.78169, 1.9205, 2.59221, 2.67584, + 1.04821, 1.663, 1.8174, 1.91517, 2.48459, 2.62308, + 0.954241, 1.61967, 1.81346, 1.88169, 2.55067, 2.63197, + 0.964363, 1.57975, 1.72871, 1.86213, 2.56757, 2.63633, + 1.29692, 1.64688, 1.88926, 2.06927, 2.32023, 2.48139, + 1.23277, 1.6196, 1.95547, 2.06656, 2.33528, 2.45651, + 1.23897, 1.35179, 1.87757, 2.16641, 2.31797, 2.47439, + 1.18029, 1.38835, 1.60745, 1.95083, 2.21086, 2.47772, + 1.124, 1.42354, 1.61732, 1.8268, 2.20607, 2.44408, + 1.14779, 1.48705, 1.62797, 1.92602, 2.27842, 2.48653, + 1.09265, 1.49972, 1.62304, 1.88016, 2.41166, 2.64865, + 1.11529, 1.46869, 1.60763, 1.81446, 2.3569, 2.57609, + 1.17604, 1.42463, 1.61423, 1.96634, 2.35268, 2.57035, + 1.21105, 1.46743, 1.61778, 1.85149, 2.38977, 2.59186, + 1.28768, 1.46486, 1.63379, 1.85623, 2.34975, 2.56532, + 1.29859, 1.49522, 1.639, 1.94264, 2.41539, 2.51812, + 1.30989, 1.43114, 1.75719, 1.97721, 2.41487, 2.52088, + 1.39224, 1.47741, 1.8113, 1.90969, 2.44042, 2.57389, + 1.41494, 1.51538, 1.859, 2.12794, 2.49067, 2.63542, + 1.49044, 1.56597, 1.95241, 2.04907, 2.49994, 2.60018, + 1.48507, 1.73412, 1.99737, 2.08938, 2.52477, 2.60816, + 1.50713, 1.7872, 2.0481, 2.12836, 2.53363, 2.62465, + 1.48522, 1.77259, 2.0481, 2.14437, 2.59574, 2.67979, + 1.56004, 1.74452, 2.07614, 2.15684, 2.61506, 2.69877, + 1.50628, 1.85545, 2.06419, 2.14453, 2.58566, 2.68779, + 1.59288, 1.90345, 2.08453, 2.16339, 2.4969, 2.63359, + 1.60945, 1.87086, 2.11982, 2.18659, 2.5995, 2.69782, + 1.59478, 1.85535, 2.02562, 2.14254, 2.5723, 2.63784, + 1.52719, 1.71409, 2.07627, 2.18517, 2.52655, 2.63114, + 1.51801, 1.62801, 2.03926, 2.13453, 2.45384, 2.57636, + 1.53131, 1.67808, 2.03518, 2.14689, 2.50486, 2.58417, + 1.50863, 1.63261, 1.96514, 2.14868, 2.49664, 2.59275, + 1.4999, 1.59942, 1.91369, 2.03686, 2.45019, 2.53817, + 1.48116, 1.58381, 1.88446, 2.01387, 2.3595, 2.4811, + 1.47574, 1.5697, 1.79999, 1.91618, 2.32922, 2.5359, + 1.49864, 1.6236, 1.79282, 1.94522, 2.35863, 2.49073, + 1.43113, 1.57463, 1.74326, 2.00612, 2.34776, 2.5089, + 1.42706, 1.53658, 1.79069, 1.94303, 2.34447, 2.45265, + 1.43684, 1.54202, 1.75892, 1.92562, 2.24291, 2.41684, + 1.41979, 1.50904, 1.86332, 1.9954, 2.27579, 2.42473, + 1.4244, 1.51048, 1.88289, 2.17902, 2.30471, 2.45567, + 1.36605, 1.46119, 1.93532, 2.14755, 2.26342, 2.46579, + 1.4074, 1.56497, 1.98112, 2.10344, 2.44529, 2.5651, + 1.59701, 1.87701, 2.0685, 2.27031, 2.49936, 2.60489, + 1.48498, 1.81813, 2.14982, 2.33759, 2.50475, 2.58944, + 1.48788, 1.93718, 2.11827, 2.30837, 2.51178, 2.60463, + 1.6823, 1.97703, 2.19229, 2.37368, 2.52293, 2.61128, + 1.74946, 1.90568, 2.21827, 2.35201, 2.57423, 2.68148, + 1.67622, 1.93651, 2.23718, 2.34378, 2.53591, 2.66127, + 1.72336, 1.98992, 2.27124, 2.41314, 2.55083, 2.64937, + 1.75601, 1.99691, 2.31266, 2.46148, 2.62542, 2.70874, + 1.49977, 1.7633, 2.15887, 2.34688, 2.59272, 2.68285, + 1.74752, 1.92713, 2.24894, 2.41084, 2.60412, 2.69088, + 1.67035, 1.93826, 2.24767, 2.44713, 2.65754, 2.73004, + 1.66924, 1.95961, 2.17932, 2.44053, 2.58843, 2.6408, + 1.78023, 2.01514, 2.16481, 2.39902, 2.58191, 2.64694, + 1.73956, 1.96722, 2.06569, 2.36448, 2.58998, 2.64944, + 1.60501, 1.87511, 2.0189, 2.2274, 2.54118, 2.60354, + 1.51125, 1.8926, 2.02783, 2.14811, 2.52, 2.6082, + 1.36336, 1.56877, 1.91085, 2.05769, 2.46351, 2.55882, + 1.3385, 1.48382, 1.8837, 2.06707, 2.44895, 2.5779, + 1.36919, 1.43786, 1.84522, 2.07846, 2.4285, 2.61589, + 1.3777, 1.49829, 1.86767, 2.16496, 2.49255, 2.57091, + 1.4081, 1.48776, 1.87241, 2.09795, 2.44727, 2.55172, + 1.40236, 1.53195, 1.89769, 2.12667, 2.41916, 2.55144, + 1.4565, 1.55463, 1.84107, 2.09581, 2.42129, 2.56176, + 1.43493, 1.52915, 1.79534, 2.1637, 2.44647, 2.53031, + 1.39111, 1.4955, 1.86968, 2.16123, 2.38141, 2.53202, + 1.38893, 1.53447, 1.797, 2.10294, 2.39851, 2.52127, + 1.35857, 1.4713, 1.76005, 2.10088, 2.3502, 2.54655, + 1.2766, 1.51921, 1.77942, 2.09582, 2.44294, 2.66594, + 1.20666, 1.45786, 1.76046, 2.24428, 2.49588, 2.64485, + 1.21461, 1.46027, 1.97902, 2.23945, 2.39832, 2.63447, + 1.27547, 1.47347, 1.87857, 2.20312, 2.47503, 2.68785, + 1.29171, 1.39929, 1.81381, 2.19412, 2.50276, 2.61489, + 1.26006, 1.398, 1.92489, 2.18672, 2.51167, 2.64455, + 1.21063, 1.32671, 1.89759, 2.10744, 2.46008, 2.71172, + 1.20266, 1.31923, 1.89263, 2.07986, 2.37942, 2.67989, + 0.967019, 1.10597, 1.76132, 2.10743, 2.32843, 2.59315, + 0.947746, 1.0358, 1.39373, 2.06123, 2.30074, 2.66828, + 0.996167, 1.21503, 1.37899, 1.86198, 2.32966, 2.60502, + 1.00882, 1.19848, 1.31384, 1.69352, 2.36075, 2.60482, + 1.05406, 1.21851, 1.36811, 1.73801, 2.17491, 2.54607, + 1.02157, 1.13399, 1.36917, 1.93564, 2.2678, 2.54441, + 1.03374, 1.22777, 1.45129, 2.00592, 2.41262, 2.59503, + 1.06516, 1.16864, 1.53018, 2.0615, 2.41074, 2.48548, + 1.12123, 1.28128, 1.43223, 1.90993, 2.20273, 2.50931, + 1.17003, 1.30604, 1.49495, 1.98191, 2.20282, 2.35174, + 1.15263, 1.26619, 1.621, 2.05767, 2.21445, 2.38164, + 1.22813, 1.31327, 1.75147, 2.11847, 2.26342, 2.45389, + 1.30783, 1.39865, 1.79975, 2.12574, 2.26062, 2.4518, + 1.3601, 1.47744, 1.83574, 2.12187, 2.29156, 2.49979, + 1.39848, 1.49297, 1.80652, 2.10714, 2.24141, 2.43415, + 1.35121, 1.46251, 1.72639, 2.12239, 2.28579, 2.42184, + 1.2972, 1.49887, 1.76625, 2.15784, 2.37671, 2.49716, + 1.37735, 1.51897, 1.80379, 2.19115, 2.35637, 2.4789, + 1.28917, 1.55324, 1.67459, 2.11263, 2.40335, 2.47388, + 1.18897, 1.70034, 1.83432, 2.05558, 2.59953, 2.70041, + 1.07704, 1.66767, 1.90219, 2.04569, 2.60291, 2.70006, + 1.07206, 1.27246, 1.84374, 1.90118, 2.58625, 2.72056, + 1.08439, 1.39207, 1.82356, 1.9013, 2.58943, 2.68003, + 1.10632, 1.44136, 1.76614, 1.85372, 2.54936, 2.62741, + 1.09457, 1.55002, 1.77192, 1.87095, 2.55968, 2.62805, + 1.0419, 1.59855, 1.8137, 1.92849, 2.54563, 2.6715, + 1.0902, 1.61051, 1.81256, 2.01926, 2.55632, 2.60879, + 1.01653, 1.62666, 1.74241, 2.04192, 2.54154, 2.60225, + 1.07557, 1.64775, 1.87067, 2.07397, 2.5746, 2.6288, + 1.12666, 1.58621, 1.79257, 1.98241, 2.62918, 2.72556, + 1.02778, 1.54267, 1.8314, 1.95688, 2.60301, 2.66852, + 1.1119, 1.54342, 1.86147, 1.94292, 2.62196, 2.67286, + 1.08051, 1.58319, 1.8573, 1.95846, 2.6336, 2.69514, + 1.13224, 1.44916, 1.88495, 1.977, 2.60785, 2.70942, + 1.23277, 1.6126, 1.96044, 2.07169, 2.64468, 2.72712, + 1.32501, 1.7799, 1.9673, 2.11387, 2.54784, 2.66872, + 1.40459, 1.64445, 2.05809, 2.25711, 2.51912, 2.63461, + 1.41349, 1.6094, 2.00252, 2.1841, 2.58753, 2.69615, + 1.35402, 1.59388, 2.01444, 2.1222, 2.61725, 2.72181, + 1.37382, 1.65676, 1.99218, 2.18987, 2.54872, 2.70251, + 1.42118, 1.61108, 1.95807, 2.12362, 2.56983, 2.64814, + 1.37918, 1.6202, 1.92264, 2.09395, 2.55069, 2.64186, + 1.36773, 1.65667, 1.83845, 1.99212, 2.59623, 2.65404, + 1.39455, 1.75062, 1.87227, 2.03843, 2.55322, 2.62359, + 1.46402, 1.74159, 1.91299, 2.15026, 2.56559, 2.64882, + 1.46113, 1.80906, 1.95461, 2.2099, 2.57028, 2.64252, + 1.43452, 1.77083, 1.90402, 2.21731, 2.63118, 2.687, + 1.37553, 1.63166, 1.886, 2.08659, 2.6005, 2.67126, + 1.33921, 1.56872, 1.81737, 2.08557, 2.59134, 2.66646, + 1.5044, 1.77959, 2.05714, 2.27244, 2.5346, 2.63465, + 1.4745, 1.74632, 2.04471, 2.13738, 2.47455, 2.63053, + 1.55704, 1.75502, 2.03966, 2.08094, 2.66134, 2.74174, + 1.57345, 1.71536, 2.05673, 2.09837, 2.69164, 2.74369, + 1.51143, 1.83189, 1.99159, 2.15604, 2.62435, 2.70952, + 1.50191, 1.71403, 2.01293, 2.07943, 2.55466, 2.69041, + 1.54718, 1.67191, 1.97797, 2.10406, 2.50716, 2.61481, + 1.56326, 1.63597, 1.99013, 2.12372, 2.56382, 2.63319, + 1.58777, 1.69779, 2.00754, 2.12736, 2.58884, 2.65654, + 1.6183, 1.72223, 2.00849, 2.13128, 2.61817, 2.68764, + 1.58008, 1.68493, 2.00065, 2.08783, 2.61398, 2.68767, + 1.57278, 1.73632, 1.96154, 2.14435, 2.64125, 2.68794, + 1.53899, 1.65285, 1.95211, 2.15604, 2.6393, 2.68573, + 1.53713, 1.6228, 1.96353, 2.07594, 2.6122, 2.67933, + 1.53745, 1.63325, 1.98652, 2.07568, 2.54279, 2.6438, + 1.54323, 1.77202, 2.05391, 2.14247, 2.53641, 2.69049, + 1.6218, 1.83, 2.05274, 2.21086, 2.58321, 2.66584, + 1.60957, 1.93532, 2.14668, 2.39332, 2.59721, 2.67056, + 1.56082, 1.93554, 2.19144, 2.44438, 2.60992, 2.6926, + 1.70428, 1.87459, 2.01026, 2.3801, 2.52866, 2.6048, + 1.62478, 1.83779, 1.92536, 2.19301, 2.49717, 2.56943, + 1.55613, 1.83265, 1.98694, 2.18932, 2.4532, 2.53163, + 1.34743, 1.66967, 1.94393, 2.10805, 2.50663, 2.60842, + 1.27841, 1.49725, 1.83841, 2.07392, 2.45455, 2.59232, + 1.27105, 1.41512, 1.75811, 2.23246, 2.42277, 2.55467, + 1.26034, 1.35671, 1.91317, 2.22589, 2.3806, 2.55725, + 1.2231, 1.30797, 1.78409, 2.20752, 2.36287, 2.48779, + 1.24945, 1.53816, 1.7166, 1.99832, 2.36211, 2.46553, + 1.20801, 1.50306, 1.7613, 1.91708, 2.44805, 2.52513, + 1.15185, 1.46115, 1.78394, 1.94689, 2.45256, 2.55631, + 1.16556, 1.34777, 1.79995, 1.92075, 2.43788, 2.54695, + 1.10979, 1.31045, 1.81589, 1.92338, 2.4273, 2.6028, + 1.09199, 1.23364, 1.78961, 1.92504, 2.4678, 2.61117, + 1.05232, 1.19475, 1.8099, 1.91423, 2.39018, 2.55632, + 1.03227, 1.18949, 1.77562, 1.88969, 2.39325, 2.64083, + 0.992854, 1.16963, 1.81416, 1.91225, 2.32027, 2.63432, + 1.05441, 1.17775, 1.76276, 1.9072, 2.26618, 2.5163, + 1.02954, 1.16736, 1.78006, 1.97354, 2.22784, 2.61389, + 1.06778, 1.18481, 1.74132, 1.91913, 2.12196, 2.50079, + 1.16784, 1.26305, 1.77863, 1.90072, 2.15081, 2.56866, + 1.24703, 1.32367, 1.81105, 1.93459, 2.18402, 2.67462, + 1.33178, 1.42614, 1.78514, 1.96603, 2.11456, 2.54183, + 1.3609, 1.44414, 1.86253, 1.94975, 2.42674, 2.64611, + 1.40854, 1.45179, 1.86692, 2.01423, 2.47884, 2.70591, + 1.40555, 1.48355, 1.87498, 1.96029, 2.50276, 2.66254, + 1.44237, 1.54466, 1.88335, 1.98759, 2.56298, 2.64776, + 1.48072, 1.5362, 1.88182, 2.01887, 2.58235, 2.66179, + 1.51308, 1.58325, 1.89576, 1.98715, 2.58617, 2.67601, + 1.49776, 1.60209, 1.83101, 1.9854, 2.56409, 2.64364, + 1.49706, 1.56491, 1.84464, 1.9577, 2.53993, 2.67716, + 1.46811, 1.52375, 1.86584, 1.94008, 2.60797, 2.68486, + 1.4681, 1.56439, 1.85892, 1.9824, 2.60648, 2.70969, + 1.42273, 1.5192, 1.80679, 1.89159, 2.61482, 2.70389, + 1.39687, 1.4767, 1.7764, 2.01325, 2.60785, 2.66599, + 1.39153, 1.50457, 1.83054, 2.08154, 2.61102, 2.72081, + 1.37288, 1.64506, 1.83336, 2.01576, 2.63134, 2.70134, + 1.33129, 1.7474, 1.89795, 2.14651, 2.58668, 2.65827, + 1.50318, 1.73469, 1.915, 2.28209, 2.59839, 2.67919, + 1.46524, 1.71176, 2.02517, 2.28408, 2.65366, 2.71739, + 1.4234, 1.76876, 2.08441, 2.27788, 2.63644, 2.71152, + 1.42382, 1.72447, 2.03259, 2.30031, 2.60334, 2.68611, + 1.43318, 1.81887, 2.05388, 2.40924, 2.6286, 2.69946, + 1.50985, 1.79349, 2.05264, 2.35777, 2.64413, 2.71806, + 1.57573, 1.85153, 2.03296, 2.3749, 2.58353, 2.66224, + 1.50126, 1.78083, 1.99855, 2.32927, 2.5056, 2.60674, + 1.46006, 1.76321, 1.91233, 2.21442, 2.49433, 2.57762, + 1.44404, 1.65767, 1.89536, 2.14855, 2.47846, 2.59545, + 1.45429, 1.61986, 1.93589, 2.18975, 2.47883, 2.59488, + 1.37724, 1.64218, 1.91967, 2.14284, 2.42151, 2.54104, + 1.05106, 1.42102, 1.8304, 2.02122, 2.37369, 2.54883, + 0.964571, 1.07164, 1.3949, 2.1512, 2.37178, 2.46495, + 0.966306, 1.18103, 1.30221, 2.01482, 2.37509, 2.43513, + 0.89556, 1.20784, 1.33531, 1.82392, 2.23992, 2.3631, + 1.00678, 1.20309, 1.31782, 1.87398, 2.33664, 2.40878, + 1.05413, 1.22559, 1.37901, 2.02469, 2.33331, 2.42155, + 1.0902, 1.22477, 1.40967, 2.0132, 2.24536, 2.35323, + 1.07648, 1.20397, 1.56389, 2.03395, 2.20336, 2.3691, + 1.12797, 1.24913, 1.66469, 2.08043, 2.25662, 2.46954, + 1.20201, 1.42968, 1.79368, 2.08071, 2.33998, 2.46005, + 1.51722, 1.6739, 1.92792, 2.20364, 2.38676, 2.52014, + 1.58662, 1.78624, 2.04167, 2.199, 2.41637, 2.58119, + 1.5933, 1.80855, 2.14878, 2.25028, 2.37209, 2.53241, + 1.65729, 1.78346, 2.15039, 2.25813, 2.45392, 2.61621, + 1.57149, 1.79266, 2.11765, 2.35038, 2.57719, 2.66695, + 1.30199, 1.72975, 1.97442, 2.09325, 2.5939, 2.66302, + 1.10022, 1.5634, 1.91991, 2.05922, 2.56297, 2.63776, + 1.02507, 1.54074, 1.8119, 2.05791, 2.49188, 2.60325, + 1.01531, 1.4735, 1.80259, 2.01308, 2.43676, 2.60532, + 1.02207, 1.15848, 1.68979, 2.18353, 2.38378, 2.49237, + 1.21248, 1.45311, 1.82395, 2.06144, 2.39619, 2.53658, + 1.12624, 1.45293, 1.80959, 2.07107, 2.40894, 2.54956, + 0.880332, 1.32478, 1.62134, 1.96725, 2.31316, 2.42693, + 0.749583, 1.35841, 1.57507, 1.87059, 2.27923, 2.37743, + 0.901917, 1.29022, 1.67443, 1.95441, 2.23336, 2.39152, + 0.850971, 1.2521, 1.65765, 1.81646, 2.18389, 2.32881, + 0.88148, 1.2841, 1.69816, 1.84466, 2.34182, 2.44091, + 0.874499, 1.18268, 1.70949, 1.91745, 2.36597, 2.49965, + 0.833751, 1.23113, 1.80332, 1.91802, 2.45909, 2.54688, + 0.85097, 1.12709, 1.77207, 1.85522, 2.48758, 2.58286, + 0.88165, 1.1148, 1.8207, 1.95908, 2.52175, 2.59873, + 0.803558, 1.15029, 1.79848, 1.95267, 2.53892, 2.6349, + 0.867833, 0.990496, 1.83228, 1.92977, 2.54766, 2.68108, + 0.865057, 1.06744, 1.77326, 1.86019, 2.55833, 2.70222, + 0.832529, 0.98596, 1.75637, 1.86293, 2.43828, 2.62378, + 0.850804, 1.06055, 1.89222, 1.98401, 2.48377, 2.66112, + 0.873803, 1.04198, 1.7462, 1.93244, 2.33822, 2.55458, + 0.958594, 1.10347, 1.83644, 1.93678, 2.39376, 2.5732, + 1.01483, 1.14087, 1.82593, 2.01371, 2.40149, 2.60942, + 1.07537, 1.45764, 1.90046, 2.03349, 2.31419, 2.49095, + 1.20171, 1.73617, 1.91408, 2.0665, 2.38691, 2.47696, + 1.21522, 1.87361, 2.0659, 2.18299, 2.37498, 2.48955, + 1.62021, 1.85126, 2.11154, 2.3428, 2.52749, 2.63389, + 1.68388, 1.86037, 2.12601, 2.40434, 2.56298, 2.63616, + 1.70382, 1.93438, 2.13367, 2.39321, 2.60193, 2.68247, + 1.52688, 1.90013, 2.1511, 2.36164, 2.57517, 2.65898, + 1.58725, 1.88139, 2.12995, 2.26786, 2.57786, 2.65784, + 1.53916, 1.87134, 2.19028, 2.36038, 2.62461, 2.70564, + 1.62575, 1.86218, 2.12009, 2.33946, 2.59216, 2.68214, + 1.67953, 1.92069, 2.16117, 2.31711, 2.6489, 2.71211, + 1.6352, 1.92283, 2.17484, 2.4074, 2.63005, 2.70927, + 1.45419, 1.9757, 2.15185, 2.37134, 2.60918, 2.68579, + 1.67244, 2.0114, 2.18302, 2.46392, 2.65296, 2.71152, + 1.61211, 1.98748, 2.10258, 2.29335, 2.61613, 2.67026, + 1.52807, 1.89507, 2.05358, 2.2325, 2.54491, 2.62412, + 1.42035, 1.6835, 1.96343, 2.15942, 2.53673, 2.62013, + 1.45632, 1.69313, 1.96923, 2.16474, 2.58716, 2.67759, + 1.48111, 1.63754, 1.99264, 2.17848, 2.54814, 2.63276, + 1.48852, 1.59117, 2.0165, 2.12332, 2.52866, 2.61492, + 1.47743, 1.65152, 1.96289, 2.10218, 2.5433, 2.61884, + 1.47386, 1.6223, 1.99223, 2.08035, 2.57269, 2.64443, + 1.47822, 1.6334, 1.9312, 2.06413, 2.55228, 2.62934, + 1.45248, 1.67676, 1.94591, 2.08475, 2.60097, 2.66889, + 1.41156, 1.70618, 1.89025, 2.16962, 2.56732, 2.65016, + 1.3834, 1.66463, 1.80326, 2.10861, 2.59577, 2.64622, + 1.4346, 1.64501, 1.87175, 2.11549, 2.52896, 2.66026, + 1.44454, 1.58183, 1.89864, 2.09407, 2.52845, 2.6315, + 1.46556, 1.562, 1.84142, 2.0516, 2.55994, 2.63232, + 1.49929, 1.58105, 1.85745, 2.09899, 2.5116, 2.60434, + 1.52868, 1.65135, 1.87131, 2.07123, 2.56255, 2.62246, + 1.51447, 1.63348, 1.7786, 2.1235, 2.6061, 2.66239, + 1.30148, 1.68391, 1.79606, 2.17075, 2.64495, 2.69178, + 1.15442, 1.62694, 1.74922, 1.99641, 2.57924, 2.6529, + 1.11791, 1.56927, 1.79538, 1.8853, 2.37672, 2.73973, + 1.25179, 1.62567, 1.83926, 1.99131, 2.35012, 2.65505, + 1.41213, 1.69423, 1.83936, 1.9984, 2.44522, 2.73968, + 1.37016, 1.68726, 1.87973, 2.00645, 2.32901, 2.63296, + 1.17478, 1.72905, 1.88737, 2.01391, 2.25939, 2.55774, + 1.31792, 1.73704, 1.87808, 1.97931, 2.17536, 2.63486, + 1.14013, 1.58645, 1.93222, 2.02771, 2.23684, 2.48495, + 1.10014, 1.6001, 1.85129, 1.97238, 2.60483, 2.64945, + 1.11197, 1.52598, 1.84271, 2.01149, 2.6016, 2.66939, + 1.08082, 1.49258, 1.81023, 1.96531, 2.55673, 2.64517, + 1.12935, 1.6359, 1.78518, 2.1374, 2.498, 2.57252, + 1.00359, 1.60301, 1.7227, 2.1394, 2.43159, 2.511, + 1.12017, 1.42515, 1.67568, 2.05077, 2.34325, 2.46068, + 1.32861, 1.59915, 1.87358, 2.17045, 2.47054, 2.61353, + 1.38209, 1.59534, 1.92346, 2.08211, 2.34955, 2.51075, + 1.46619, 1.57286, 1.87047, 2.18, 2.34634, 2.47187, + 1.37977, 1.63301, 1.80827, 2.16629, 2.39872, 2.49247, + 1.30592, 1.61002, 1.85641, 2.00154, 2.39067, 2.53391, + 1.38309, 1.58681, 1.75722, 1.9348, 2.43354, 2.58795, + 1.30751, 1.45094, 1.67533, 2.03394, 2.24423, 2.41812, + 1.1915, 1.48407, 1.75027, 2.09664, 2.24938, 2.50498, + 1.24138, 1.49179, 1.77688, 2.07173, 2.36793, 2.50807, + 1.2657, 1.45992, 1.78175, 2.0099, 2.34858, 2.51604, + 1.27951, 1.41465, 1.7951, 2.05594, 2.3957, 2.53054, + 1.33734, 1.44593, 1.85301, 2.07518, 2.38598, 2.53549, + 1.28897, 1.42471, 1.79799, 2.02629, 2.2998, 2.42371, + 1.36528, 1.47179, 1.80171, 1.9377, 2.3453, 2.4667, + 1.35379, 1.44775, 1.73621, 1.86889, 2.27436, 2.47558, + 1.36086, 1.44961, 1.68047, 1.80265, 2.39554, 2.51326, + 1.38833, 1.52625, 1.67333, 1.90987, 2.38502, 2.53543, + 1.42443, 1.54422, 1.7202, 1.93624, 2.30797, 2.49142, + 1.44894, 1.55201, 1.79794, 1.93752, 2.40687, 2.54612, + 1.43203, 1.52162, 1.79932, 2.02144, 2.47733, 2.57175, + 1.46309, 1.54628, 1.83442, 2.06349, 2.4898, 2.59527, + 1.42547, 1.55643, 1.90472, 2.11082, 2.46637, 2.58756, + 1.38484, 1.56941, 1.92558, 2.07237, 2.56129, 2.64054, + 1.41849, 1.53942, 1.93754, 2.01432, 2.6092, 2.67676, + 1.39701, 1.48328, 1.93673, 1.97775, 2.59561, 2.73585, + 1.33562, 1.44187, 1.88474, 1.99496, 2.58963, 2.69575, + 1.35749, 1.519, 1.8716, 1.9802, 2.62902, 2.7003, + 1.35356, 1.52432, 1.89108, 1.96371, 2.59581, 2.67933, + 1.2951, 1.63928, 1.90739, 2.10314, 2.58336, 2.67978, + 1.45554, 1.66759, 1.9532, 2.24049, 2.57067, 2.67362, + 1.46028, 1.78665, 1.99775, 2.28513, 2.58293, 2.67762, + 1.54312, 1.72939, 2.15567, 2.28027, 2.65558, 2.74425, + 1.43444, 1.74878, 2.0422, 2.20129, 2.6065, 2.69586, + 1.43608, 1.74734, 2.06784, 2.25326, 2.57594, 2.67908, + 1.47087, 1.69825, 2.08313, 2.25757, 2.56534, 2.66619, + 1.41742, 1.69344, 2.05319, 2.24354, 2.54484, 2.6328, + 1.41211, 1.68159, 2.0818, 2.3261, 2.47245, 2.57058, + 1.39723, 1.76474, 2.03156, 2.29712, 2.47165, 2.57588, + 1.4665, 1.6943, 2.00592, 2.20633, 2.53451, 2.63576, + 1.43711, 1.74657, 1.92384, 2.12785, 2.35663, 2.46448, + 1.32402, 1.59792, 1.75778, 2.12435, 2.34799, 2.44047, + 1.37539, 1.62639, 1.77807, 2.0684, 2.25894, 2.39753, + 1.37958, 1.62179, 1.85796, 1.99428, 2.30609, 2.47721, + 1.41641, 1.64889, 1.86912, 2.09836, 2.3454, 2.47513, + 1.42624, 1.6392, 1.9254, 2.07268, 2.44895, 2.53255, + 1.45905, 1.61587, 1.91117, 2.12546, 2.4837, 2.59209, + 1.45943, 1.6907, 1.85242, 2.13607, 2.5294, 2.5972, + 1.48514, 1.57805, 1.81057, 2.15062, 2.55904, 2.61824, + 1.52905, 1.59466, 1.7389, 2.26122, 2.59577, 2.65162, + 1.53249, 1.58533, 1.82094, 2.22962, 2.62316, 2.65848, + 1.3744, 1.52808, 1.84802, 2.04246, 2.45823, 2.59109, + 1.39987, 1.59747, 1.85308, 2.09608, 2.4316, 2.55685, + 1.45743, 1.60951, 1.93076, 2.1861, 2.39229, 2.52506, + 1.44051, 1.60759, 1.86998, 2.15828, 2.42428, 2.55553, + 1.37676, 1.47479, 1.75056, 2.19062, 2.40618, 2.54712, + 1.32771, 1.45424, 1.64463, 2.11036, 2.35245, 2.45593, + 1.3028, 1.41895, 1.60978, 2.09312, 2.26349, 2.39325, + 1.20771, 1.37987, 1.53641, 2.05993, 2.3173, 2.4554, + 1.15421, 1.30297, 1.49921, 2.07038, 2.3222, 2.63083, + 1.11147, 1.22442, 1.62564, 2.17608, 2.34255, 2.60619, + 0.945723, 1.0833, 1.62541, 2.21453, 2.3899, 2.51008, + 0.992344, 1.11699, 1.45192, 2.00842, 2.31359, 2.43786, + 1.11731, 1.39299, 1.71346, 2.13231, 2.27682, 2.49761, + 1.33287, 1.58093, 1.89551, 2.129, 2.4251, 2.57695, + 1.32204, 1.49774, 1.81922, 2.12864, 2.44361, 2.56795, + 1.36194, 1.54738, 1.79097, 2.06294, 2.46532, 2.54609, + 1.25268, 1.48388, 1.75863, 2.03345, 2.41628, 2.53922, + 1.09938, 1.34475, 1.68653, 2.01675, 2.35586, 2.53084, + 1.12611, 1.26362, 1.64994, 1.99154, 2.30909, 2.51489, + 1.19062, 1.28965, 1.69271, 2.00948, 2.16009, 2.41707, + 1.17498, 1.41431, 1.79786, 1.9876, 2.27882, 2.49276, + 1.20535, 1.48205, 1.85076, 2.02555, 2.34228, 2.52343, + 1.24803, 1.56119, 1.85276, 2.09645, 2.42836, 2.55187, + 1.26073, 1.60183, 1.90105, 2.13198, 2.40985, 2.56555, + 1.26504, 1.69384, 2.00053, 2.20004, 2.50351, 2.61771, + 1.27884, 1.73826, 2.06202, 2.28998, 2.60444, 2.67811, + 1.33943, 1.73592, 2.05012, 2.35241, 2.59739, 2.68822, + 1.30106, 1.70875, 1.96598, 2.28621, 2.54671, 2.65318, + 1.2786, 1.74616, 1.95007, 2.21477, 2.60579, 2.68762, + 1.18377, 1.52306, 1.87912, 2.00491, 2.60031, 2.69049, + 1.18622, 1.34213, 1.81783, 1.94008, 2.5049, 2.65925, + 1.17939, 1.24368, 1.89426, 1.97975, 2.55802, 2.72182, + 1.17562, 1.35704, 1.85319, 1.94081, 2.64681, 2.70566, + 1.21112, 1.36964, 1.82525, 1.91329, 2.63472, 2.71226, + 1.16947, 1.34515, 1.76494, 1.88367, 2.59108, 2.71452, + 1.22209, 1.38948, 1.80018, 1.9359, 2.57377, 2.70292, + 1.28727, 1.37591, 1.87874, 1.98605, 2.626, 2.70847, + 1.29971, 1.3896, 1.8739, 1.94272, 2.53348, 2.69147, + 1.27136, 1.4242, 1.84985, 1.95357, 2.55556, 2.65237, + 1.25357, 1.44851, 1.82953, 1.9191, 2.48784, 2.63076, + 1.22392, 1.32302, 1.84126, 1.93273, 2.22685, 2.57072, + 1.22617, 1.32139, 1.77179, 1.94807, 2.13788, 2.56305, + 1.31624, 1.39947, 1.78933, 1.96557, 2.13204, 2.42471, + 1.26439, 1.36395, 1.73553, 2.0056, 2.15584, 2.41892, + 1.21403, 1.31978, 1.66202, 1.90295, 2.06463, 2.42483, + 1.2426, 1.34231, 1.62476, 1.92942, 2.08355, 2.31844, + 1.24161, 1.43912, 1.64633, 1.81792, 1.99776, 2.19663, + 1.23935, 1.33692, 1.77706, 2.02801, 2.15585, 2.3287, + 1.17842, 1.26633, 1.80204, 1.95982, 2.1457, 2.46951, + 1.2477, 1.32863, 1.81269, 1.99279, 2.20064, 2.49944, + 1.27008, 1.37091, 1.88227, 1.99723, 2.25428, 2.52605, + 1.29555, 1.37642, 1.86044, 2.07673, 2.249, 2.56712, + 1.30484, 1.38609, 1.83276, 2.06162, 2.2194, 2.48635, + 1.31431, 1.38148, 1.91283, 2.01753, 2.28775, 2.57642, + 1.27508, 1.35377, 1.85847, 2.03703, 2.36206, 2.61542, + 1.28711, 1.3668, 1.83552, 1.96109, 2.29199, 2.56297, + 1.25667, 1.34116, 1.79881, 1.92126, 2.33365, 2.59691, + 1.22928, 1.33751, 1.75398, 1.94239, 2.40355, 2.60217, + 1.22487, 1.32298, 1.79261, 1.91891, 2.36331, 2.52058, + 1.21845, 1.32159, 1.65149, 1.88416, 2.36654, 2.52128, + 1.19322, 1.35912, 1.6324, 1.85763, 2.32285, 2.45271, + 1.20547, 1.36803, 1.60803, 1.81504, 2.34185, 2.57451, + 1.06125, 1.31843, 1.54502, 1.88874, 2.40188, 2.61702, + 1.07252, 1.36579, 1.51413, 1.89367, 2.36962, 2.47423, + 1.11164, 1.43679, 1.6061, 1.84246, 2.38242, 2.47411, + 1.01206, 1.3162, 1.47159, 1.79906, 2.34943, 2.45513, + 1.08947, 1.24857, 1.57279, 1.95306, 2.29844, 2.46178, + 1.06836, 1.19581, 1.62402, 2.11129, 2.31148, 2.41925, + 1.14751, 1.52522, 1.72481, 1.95717, 2.38753, 2.47131, + 1.33434, 1.56815, 1.74904, 1.96257, 2.39063, 2.48465, + 1.29814, 1.46788, 1.8144, 1.94157, 2.38423, 2.52218, + 1.29501, 1.41849, 1.85947, 1.96233, 2.37632, 2.52176, + 1.33583, 1.43664, 1.85826, 1.96633, 2.44658, 2.56348, + 1.34649, 1.47798, 1.90564, 1.99809, 2.49005, 2.58447, + 1.40718, 1.54076, 1.8793, 1.99298, 2.48794, 2.56401, + 1.44766, 1.62857, 1.8282, 2.05365, 2.53405, 2.60586, + 1.52471, 1.62005, 1.83788, 2.01792, 2.59217, 2.65337, + 1.56458, 1.64714, 1.76118, 2.02415, 2.61525, 2.65657, + 1.52937, 1.59398, 1.68316, 1.97983, 2.60164, 2.65439, + 1.58508, 1.65284, 1.78677, 2.03185, 2.518, 2.62098, + 1.58891, 1.64423, 1.81381, 2.04148, 2.61072, 2.66605, + 1.60136, 1.68607, 1.86295, 2.12711, 2.60886, 2.65502, + 1.64024, 1.75092, 1.9211, 2.16441, 2.54752, 2.61719, + 1.5486, 1.6382, 1.9174, 2.09265, 2.56383, 2.61584, + 1.51587, 1.61696, 1.84416, 2.00703, 2.52817, 2.60107, + 1.46587, 1.5722, 1.74097, 2.01129, 2.49342, 2.58193, + 1.41191, 1.53428, 1.66939, 2.02551, 2.41906, 2.53499, + 1.3394, 1.5249, 1.67455, 2.01899, 2.344, 2.44379, + 1.30067, 1.52706, 1.67307, 2.03619, 2.26952, 2.38379, + 1.19308, 1.4765, 1.66446, 1.93323, 2.291, 2.41495, + 1.19279, 1.48559, 1.64926, 1.84405, 2.29509, 2.502, + 1.19782, 1.36486, 1.70369, 1.82721, 2.26277, 2.4998, + 1.13827, 1.37925, 1.65813, 1.91249, 2.38908, 2.58338, + 1.1666, 1.35794, 1.68892, 1.94273, 2.49153, 2.58925, + 1.17061, 1.39155, 1.72193, 1.88951, 2.50612, 2.61639, + 1.21096, 1.4527, 1.75562, 1.84497, 2.49006, 2.62473, + 1.21214, 1.51972, 1.78592, 1.88927, 2.55126, 2.62949, + 1.276, 1.66462, 1.95776, 2.24934, 2.60229, 2.6777, + 1.40086, 1.81618, 1.99446, 2.32596, 2.65178, 2.7173, + 1.46605, 1.83456, 2.11857, 2.37243, 2.62538, 2.70468, + 1.57886, 1.79094, 2.1361, 2.39283, 2.63855, 2.71402, + 1.4807, 1.81656, 2.20645, 2.43239, 2.57589, 2.64511, + 1.61729, 1.80766, 2.24172, 2.44007, 2.56723, 2.63175, + 1.5701, 1.78507, 2.17821, 2.34813, 2.46705, 2.55664, + 1.57968, 1.70153, 2.00519, 2.28877, 2.43415, 2.54859, + 1.57869, 1.67421, 1.96547, 2.19945, 2.33487, 2.4798, + 1.64055, 1.72692, 1.99161, 2.24034, 2.40097, 2.52363, + 1.58853, 1.70967, 1.87442, 2.16082, 2.38152, 2.51723, + 1.4475, 1.66548, 1.90094, 2.10338, 2.39787, 2.53557, + 1.20302, 1.59921, 1.88428, 2.03226, 2.36901, 2.50474, + 1.14652, 1.51319, 1.8805, 1.98579, 2.40738, 2.52248, + 1.13127, 1.435, 1.83409, 2.11135, 2.30655, 2.53115, + 1.17671, 1.64034, 1.87012, 2.06494, 2.313, 2.43912, + 1.25449, 1.59061, 1.95849, 2.20017, 2.34427, 2.47982, + 1.24396, 1.68449, 2.0165, 2.19295, 2.45108, 2.54733, + 1.53731, 1.76385, 2.18864, 2.37173, 2.53993, 2.64808, + 1.64654, 1.88757, 2.28095, 2.44345, 2.59307, 2.68077, + 1.56746, 1.87617, 2.10871, 2.42783, 2.61173, 2.69136, + 1.34106, 1.87413, 2.11422, 2.3962, 2.62123, 2.70277, + 1.4492, 1.83784, 2.0584, 2.30747, 2.61691, 2.68969, + 1.31349, 1.79435, 1.96106, 2.2375, 2.59774, 2.68519, + 1.20218, 1.70691, 1.9051, 2.13915, 2.61289, 2.69366, + 1.08034, 1.59049, 1.84652, 2.05928, 2.63137, 2.69738, + 1.04322, 1.60191, 1.90035, 2.14104, 2.58835, 2.66252, + 0.984957, 1.55615, 1.84148, 2.14877, 2.57734, 2.66295, + 0.979403, 1.55384, 1.84417, 2.0526, 2.57775, 2.64111, + 0.947313, 1.45389, 1.83646, 1.99878, 2.56655, 2.63755, + 0.95946, 1.44168, 1.83287, 2.1065, 2.55364, 2.63088, + 0.951016, 1.39788, 1.79374, 2.05307, 2.49264, 2.62257, + 0.870727, 1.36922, 1.81779, 2.10748, 2.52423, 2.62794, + 0.902872, 1.38516, 1.7548, 2.01343, 2.53699, 2.65482, + 0.891101, 1.3624, 1.75358, 1.87804, 2.5598, 2.66247, + 0.835616, 1.25933, 1.75717, 1.83234, 2.48635, 2.63568, + 0.787419, 1.13204, 1.69397, 1.77693, 2.53318, 2.61631, + 0.791106, 1.06813, 1.69774, 1.8516, 2.57196, 2.66955, + 0.759951, 1.11236, 1.56236, 1.8552, 2.49068, 2.60197, + 0.792061, 1.14, 1.72482, 1.95446, 2.60886, 2.68968, + 0.823952, 1.27093, 1.74109, 2.07766, 2.6132, 2.66939, + 0.736534, 1.12497, 1.74368, 2.09325, 2.57979, 2.66172, + 0.797043, 1.05194, 1.78023, 2.24036, 2.58348, 2.66231, + 0.923582, 1.50315, 1.77688, 2.01847, 2.61391, 2.70304, + 1.42154, 1.73503, 2.00689, 2.21034, 2.57432, 2.67074, + 1.35017, 1.60612, 1.96301, 2.08497, 2.47819, 2.58995, + 1.3618, 1.65658, 1.97408, 2.17388, 2.47963, 2.61201, + 1.31994, 1.76445, 2.02745, 2.24929, 2.52964, 2.63574, + 1.39403, 1.6642, 2.00631, 2.24619, 2.55809, 2.67132, + 1.38539, 1.75543, 2.08002, 2.32987, 2.63089, 2.72267, + 1.33369, 1.66943, 2.02149, 2.25061, 2.60027, 2.6891, + 1.34153, 1.69816, 1.975, 2.23711, 2.56085, 2.68438, + 1.38861, 1.78505, 1.95689, 2.28139, 2.56358, 2.64371, + 1.34589, 1.70624, 1.84298, 2.26416, 2.60622, 2.69479, + 1.32033, 1.69419, 1.92336, 2.21815, 2.64548, 2.75026, + 1.33239, 1.74839, 2.01472, 2.22178, 2.60263, 2.69746, + 1.3976, 1.71535, 1.94972, 2.236, 2.5778, 2.66148, + 1.61881, 1.79597, 2.01642, 2.20519, 2.50664, 2.63683, + 1.65981, 1.73533, 2.02109, 2.17584, 2.44338, 2.64145, + 1.53953, 1.65206, 1.94677, 2.09508, 2.44664, 2.63655, + 1.53227, 1.59287, 1.97782, 2.05341, 2.55149, 2.67491, + 1.50935, 1.58111, 2.00424, 2.05938, 2.5246, 2.70294, + 1.43253, 1.50463, 1.93071, 2.04233, 2.44066, 2.69085, + 1.19464, 1.67704, 2.0231, 2.07839, 2.44691, 2.74585, + 1.21037, 1.82483, 2.02151, 2.13909, 2.53993, 2.65964, + 1.27662, 1.71544, 1.95249, 2.08382, 2.47346, 2.66435, + 1.23566, 1.54844, 2.06734, 2.11862, 2.42744, 2.72754, + 1.28347, 1.3743, 1.96342, 2.09842, 2.47439, 2.70286, + 1.30502, 1.3947, 2.068, 2.13904, 2.52017, 2.70621, + 1.28482, 1.49431, 2.05521, 2.14033, 2.60212, 2.69883, + 1.29659, 1.58772, 2.0872, 2.15656, 2.61856, 2.71863, + 1.25247, 1.58335, 2.10888, 2.17387, 2.6005, 2.68503, + 1.17744, 1.61204, 2.09388, 2.15517, 2.58107, 2.69512, + 1.13296, 1.57299, 2.13546, 2.2206, 2.61573, 2.71057, + 1.06032, 1.54298, 2.16575, 2.23041, 2.60944, 2.69779, + 0.993306, 1.5422, 2.17075, 2.24721, 2.63117, 2.70689, + 0.78375, 1.56854, 2.32332, 2.39888, 2.5942, 2.6906, + 0.866024, 1.45443, 2.11329, 2.18704, 2.66201, 2.71994, + 0.793002, 1.4377, 2.12567, 2.22555, 2.58888, 2.66479, + 0.863183, 1.43983, 2.03195, 2.20395, 2.58648, 2.64689, + 0.817301, 1.44308, 2.07874, 2.35666, 2.57215, 2.63532, + 0.8402, 1.2682, 1.97396, 2.38069, 2.54674, 2.62412, + 0.90591, 1.47285, 2.0008, 2.42018, 2.60601, 2.66254, + 0.885218, 1.59913, 2.06396, 2.33538, 2.68875, 2.73625, + 0.812099, 1.48097, 2.10316, 2.19363, 2.62136, 2.70211, + 0.727009, 1.48128, 2.08817, 2.17056, 2.57558, 2.66056, + 0.783755, 1.48208, 2.21077, 2.28199, 2.56464, 2.65808, + 0.81089, 1.318, 2.15666, 2.25015, 2.56537, 2.66617, + 0.775372, 1.35271, 2.27746, 2.37173, 2.58724, 2.65549, + 0.765239, 1.28061, 2.22745, 2.3049, 2.57753, 2.69687, + 0.860727, 1.30996, 2.23921, 2.35825, 2.52375, 2.68183, + 0.828001, 1.15751, 2.1572, 2.2792, 2.55451, 2.65538, + 0.776568, 1.131, 2.11047, 2.28237, 2.50224, 2.63453, + 0.662804, 1.21065, 2.21449, 2.27527, 2.48015, 2.59817, + 0.752595, 1.17213, 2.27025, 2.35479, 2.53437, 2.61343, + 0.769014, 1.03754, 2.23985, 2.32019, 2.52388, 2.63727, + 0.747299, 1.03652, 2.05988, 2.38032, 2.50772, 2.67777, + 0.818428, 1.11045, 2.13257, 2.30679, 2.44267, 2.59784, + 0.838124, 1.25603, 2.15252, 2.30408, 2.50108, 2.59185, + 0.84274, 1.14734, 2.04509, 2.31707, 2.45929, 2.58847, + 0.950977, 1.15093, 2.09764, 2.29, 2.49742, 2.64345, + 0.932262, 1.15976, 1.94518, 2.23375, 2.53889, 2.63575, + 0.87264, 1.29467, 1.88108, 2.11219, 2.48873, 2.6127, + 0.953242, 1.39834, 1.90676, 2.02445, 2.39667, 2.61633, + 1.01916, 1.44724, 1.91732, 2.02333, 2.21302, 2.5289, + 0.98091, 1.42044, 1.85762, 1.94344, 2.29448, 2.59612, + 1.00792, 1.47472, 1.82759, 1.92148, 2.56736, 2.64375, + 1.05767, 1.58382, 1.86222, 1.98831, 2.50759, 2.60278, + 1.08948, 1.61094, 1.8942, 2.06798, 2.40143, 2.58925, + 1.15564, 1.60152, 1.85378, 2.10992, 2.26642, 2.65488, + 1.19039, 1.40321, 1.85032, 2.12943, 2.35548, 2.59965, + 1.16567, 1.26623, 1.84792, 2.19176, 2.35216, 2.57681, + 1.11254, 1.23723, 1.75555, 2.19641, 2.37841, 2.5159, + 1.0932, 1.22932, 1.63097, 2.19849, 2.39433, 2.49006, + 1.03092, 1.16009, 1.537, 2.15027, 2.34576, 2.52617, + 1.09013, 1.22746, 1.4703, 2.12166, 2.32569, 2.41426, + 1.08419, 1.35343, 1.49577, 2.16541, 2.39664, 2.50153, + 1.12869, 1.38014, 1.55146, 2.11031, 2.29686, 2.419, + 1.08717, 1.45426, 1.65879, 2.02039, 2.1963, 2.38146, + 1.03939, 1.58219, 1.7281, 2.07018, 2.30185, 2.48943, + 1.01902, 1.64687, 1.82892, 2.12577, 2.54247, 2.62493, + 1.01791, 1.67544, 2.00939, 2.20063, 2.43227, 2.53275, + 0.975365, 1.56846, 2.09963, 2.24376, 2.46967, 2.55866, + 1.04514, 1.75055, 2.09119, 2.27703, 2.474, 2.55964, + 1.00349, 1.67, 2.14987, 2.21681, 2.54414, 2.59102, + 0.972271, 1.66935, 2.06691, 2.25346, 2.52812, 2.62679, + 1.0014, 1.91054, 2.2089, 2.32209, 2.47505, 2.59415, + 1.10624, 1.7624, 2.17021, 2.36833, 2.53238, 2.63695, + 0.937567, 1.5708, 2.20831, 2.31208, 2.5476, 2.60415, + 0.984015, 1.53165, 2.15445, 2.2604, 2.51955, 2.62137, + 1.05805, 1.58968, 2.13047, 2.23879, 2.55922, 2.636, + 1.12629, 1.6743, 2.14238, 2.30438, 2.58199, 2.6598, + 1.09217, 1.54725, 2.13885, 2.24696, 2.57092, 2.65374, + 1.16415, 1.51357, 2.1206, 2.20304, 2.55593, 2.62912, + 1.15444, 1.45166, 2.10988, 2.19379, 2.56938, 2.66869, + 1.17101, 1.29755, 2.10579, 2.22429, 2.52972, 2.66324, + 1.13937, 1.34334, 2.02494, 2.16127, 2.57005, 2.66206, + 1.21497, 1.75949, 2.01362, 2.12671, 2.35066, 2.50893, + 1.41044, 1.78736, 1.94045, 2.082, 2.25578, 2.40636, + 1.19253, 1.69828, 1.95689, 2.08484, 2.23574, 2.49064, + 1.17363, 1.44875, 2.01112, 2.14525, 2.28014, 2.53471, + 1.1728, 1.32718, 1.93887, 2.09591, 2.24756, 2.52684, + 1.12971, 1.37614, 1.89153, 1.98533, 2.19635, 2.58265, + 1.19522, 1.29291, 1.88721, 2.02514, 2.2007, 2.52559, + 1.24628, 1.33897, 1.85165, 2.07279, 2.20907, 2.45744, + 1.24471, 1.39554, 1.91684, 2.09705, 2.29649, 2.52665, + 1.34643, 1.45327, 2.12841, 2.31384, 2.56627, 2.66621, + 1.39218, 1.50657, 2.06042, 2.18383, 2.52364, 2.65642, + 1.39767, 1.47836, 2.03787, 2.14002, 2.52288, 2.63488, + 1.40508, 1.43797, 2.0647, 2.12168, 2.48434, 2.66409, + 1.52797, 1.73164, 2.0014, 2.18228, 2.47746, 2.60968, + 1.60222, 1.69405, 2.06501, 2.17614, 2.56757, 2.65075, + 1.54924, 1.66815, 2.06194, 2.13605, 2.57595, 2.67854, + 1.59049, 1.69321, 1.92159, 2.19358, 2.52234, 2.65782, + 1.59312, 1.7156, 2.05786, 2.17281, 2.50201, 2.60776, + 1.50846, 1.71395, 2.05346, 2.14686, 2.38304, 2.62867, + 1.50094, 1.57787, 1.97852, 2.08096, 2.51787, 2.64082, + 1.50382, 1.5592, 1.93328, 2.0306, 2.51619, 2.6575, + 1.43095, 1.50644, 1.85636, 2.01451, 2.40691, 2.5838, + 1.39442, 1.47116, 1.91477, 2.01533, 2.41451, 2.56893, + 1.37672, 1.47674, 1.84174, 1.96157, 2.45962, 2.55251, + 1.30483, 1.50926, 1.80786, 1.89902, 2.5326, 2.61656, + 1.48624, 1.64687, 1.92899, 2.17664, 2.50338, 2.64553, + 1.47707, 1.57641, 1.9373, 2.09445, 2.46873, 2.64363, + 1.43149, 1.55127, 1.93581, 2.02799, 2.46876, 2.60559, + 1.42717, 1.67082, 1.94498, 2.10994, 2.48274, 2.65243, + 1.39319, 1.64956, 1.99108, 2.07033, 2.58645, 2.66734, + 1.40697, 1.51853, 1.96705, 2.06775, 2.50172, 2.62411, + 1.39913, 1.48738, 1.88033, 1.97257, 2.35919, 2.60481, + 1.41945, 1.54191, 1.92089, 2.01526, 2.41644, 2.54754, + 1.44774, 1.62665, 1.9116, 2.03784, 2.5083, 2.60909, + 1.50794, 1.64922, 1.95449, 2.06384, 2.51578, 2.59147, + 1.51251, 1.69788, 1.91927, 2.07717, 2.54577, 2.63108, + 1.57749, 1.65292, 1.96938, 2.05711, 2.5335, 2.61048, + 1.60471, 1.68784, 1.94363, 2.0307, 2.55246, 2.65947, + 1.63482, 1.71009, 1.94351, 2.03574, 2.55304, 2.65052, + 1.62911, 1.72105, 1.90726, 2.02014, 2.5701, 2.65261, + 1.65386, 1.73101, 1.91707, 2.0165, 2.55131, 2.67898, + 1.67562, 1.74025, 1.92311, 1.99547, 2.54389, 2.69347, + 1.70432, 1.761, 1.89209, 1.9586, 2.52034, 2.70958, + 1.63175, 1.69802, 1.87977, 1.97482, 2.47504, 2.68871, + 1.56339, 1.66235, 1.8635, 1.96166, 2.49207, 2.69214, + 1.53527, 1.6218, 1.86452, 2.01688, 2.4572, 2.70145, + 1.46363, 1.69, 1.94259, 2.01949, 2.51608, 2.68408, + 1.42716, 1.54573, 1.9226, 1.98339, 2.54908, 2.72404, + 1.38786, 1.46942, 1.87429, 2.04709, 2.48657, 2.64301, + 1.36474, 1.46274, 1.90851, 2.07652, 2.46877, 2.62742, + 1.42161, 1.61667, 2.07439, 2.24363, 2.60481, 2.69712, + 1.44357, 1.80248, 2.14589, 2.31103, 2.61513, 2.70497, + 1.40281, 1.86481, 2.20938, 2.37797, 2.65429, 2.73144, + 1.47267, 1.8608, 2.16288, 2.44727, 2.64842, 2.71902, + 1.5185, 1.79472, 2.07501, 2.33921, 2.5521, 2.65593, + 1.5036, 1.75847, 2.11155, 2.30448, 2.551, 2.64355, + 1.46676, 1.58771, 2.04614, 2.2766, 2.54651, 2.64991, + 1.41461, 1.49916, 2.00069, 2.08085, 2.54908, 2.65441, + 1.32462, 1.59742, 1.9617, 2.07526, 2.51879, 2.63826, + 1.26245, 1.66607, 1.96155, 2.09827, 2.5491, 2.63037, + 1.22087, 1.63212, 1.94765, 2.05495, 2.51597, 2.60756, + 1.13665, 1.56914, 1.92325, 2.0114, 2.51398, 2.61292, + 1.05857, 1.57058, 1.92127, 2.03797, 2.48449, 2.5695, + 1.03982, 1.49237, 1.86238, 2.11332, 2.46263, 2.58629, + 1.29165, 1.54669, 1.88843, 2.16034, 2.44457, 2.57368, + 1.15415, 1.62983, 1.97872, 2.11452, 2.50541, 2.61617, + 1.01899, 1.84423, 2.0035, 2.14564, 2.43005, 2.54966, + 1.00364, 1.90025, 2.10397, 2.20081, 2.55527, 2.67887, + 1.00718, 1.65253, 2.03338, 2.1179, 2.53436, 2.59384, + 1.01407, 1.62531, 2.07357, 2.164, 2.54614, 2.61183, + 1.00985, 1.72901, 2.00161, 2.19007, 2.55455, 2.63543, + 1.01949, 1.59982, 2.06292, 2.18098, 2.58535, 2.65191, + 1.04228, 1.55985, 2.06172, 2.18491, 2.60883, 2.71127, + 1.09398, 1.6067, 2.06705, 2.17946, 2.57811, 2.64708, + 1.11752, 1.5545, 2.01046, 2.17126, 2.52419, 2.60461, + 1.18915, 1.68712, 2.02682, 2.22074, 2.58466, 2.6736, + 1.18429, 1.59293, 2.01141, 2.14056, 2.57563, 2.65276, + 1.24327, 1.54434, 1.99135, 2.10372, 2.54773, 2.63384, + 1.2498, 1.53006, 1.93046, 2.04451, 2.4895, 2.61104, + 1.31723, 1.55086, 1.92747, 2.01911, 2.56358, 2.63241, + 1.30015, 1.5712, 1.81721, 1.96732, 2.57201, 2.65975, + 1.30479, 1.45907, 1.80435, 1.8738, 2.57235, 2.67785, + 1.27211, 1.38793, 1.71059, 1.79844, 2.51912, 2.63097, + 1.16882, 1.27144, 1.68047, 1.84764, 2.47259, 2.63611, + 1.12771, 1.38042, 1.70269, 1.94834, 2.2548, 2.51659, + 1.03734, 1.36207, 1.69887, 1.94336, 2.31998, 2.57611, + 0.912701, 1.21524, 1.77476, 2.05793, 2.4073, 2.60974, + 0.884045, 1.28334, 1.74009, 2.01204, 2.33233, 2.53015, + 0.859928, 1.36139, 1.78777, 2.03243, 2.43916, 2.5725, + 0.933575, 1.49731, 1.86011, 2.00776, 2.46078, 2.63658, + 0.980843, 1.37667, 1.80827, 1.8993, 2.55138, 2.66068, + 0.888314, 1.39084, 1.81906, 1.9386, 2.61173, 2.7137, + 0.839112, 1.45505, 1.86425, 1.93257, 2.56126, 2.64948, + 0.851738, 1.63344, 1.85494, 2.0651, 2.59153, 2.63797, + 0.927993, 1.73919, 1.88202, 2.1332, 2.58502, 2.64078, + 0.938681, 1.79566, 1.96211, 2.13893, 2.56523, 2.6279, + 0.939389, 1.84213, 2.02182, 2.19635, 2.61152, 2.65832, + 0.876668, 1.92276, 2.0666, 2.23861, 2.65783, 2.70914, + 0.92889, 1.83181, 2.05372, 2.20362, 2.65364, 2.69541, + 0.843177, 1.78595, 2.18004, 2.25807, 2.59681, 2.66987, + 0.90471, 1.73857, 2.04548, 2.17133, 2.65908, 2.70177, + 0.870576, 1.67285, 2.04668, 2.1603, 2.66339, 2.70628, + 0.863208, 1.61128, 2.03958, 2.13199, 2.66274, 2.71021, + 0.911587, 1.52148, 1.97225, 2.1177, 2.67151, 2.73629, + 0.857624, 1.50623, 1.92746, 2.09207, 2.599, 2.67135, + 0.876724, 1.38621, 1.9301, 2.02012, 2.64025, 2.71571, + 0.822485, 1.36308, 1.9511, 2.01209, 2.54628, 2.70422, + 0.896312, 1.29923, 1.94615, 2.04, 2.42757, 2.66043, + 0.993275, 1.37977, 2.00112, 2.08344, 2.47648, 2.62108, + 1.11197, 1.36926, 1.98057, 2.05008, 2.51842, 2.65472, + 1.16821, 1.42116, 1.92965, 2.01373, 2.5139, 2.65946, + 1.18553, 1.47731, 1.9417, 2.02179, 2.54584, 2.63683, + 1.13468, 1.49839, 1.99686, 2.07705, 2.4871, 2.60596, + 1.41173, 1.50081, 1.93056, 2.25169, 2.39141, 2.51475, + 1.3871, 1.55163, 1.93927, 2.13443, 2.39065, 2.5381, + 1.43647, 1.60163, 1.85631, 2.00172, 2.49843, 2.57968, + 1.49076, 1.67386, 1.86537, 2.01526, 2.49094, 2.5896, + 1.53229, 1.66582, 1.85411, 1.98779, 2.54431, 2.63455, + 1.56314, 1.68325, 1.81921, 1.98134, 2.5924, 2.65599, + 1.53269, 1.64287, 1.79509, 1.95595, 2.59557, 2.68867, + 1.50694, 1.59687, 1.72472, 1.90252, 2.49715, 2.64677, + 1.38523, 1.5533, 1.73378, 1.99349, 2.38568, 2.62019, + 1.19137, 1.50809, 1.91412, 2.17718, 2.46035, 2.60064, + 0.990202, 1.26842, 1.7603, 1.98849, 2.51666, 2.66102, + 1.00489, 1.27303, 1.91958, 1.97696, 2.62153, 2.71115, + 1.01329, 1.47917, 1.98377, 2.02111, 2.56129, 2.68139, + 1.09438, 1.4242, 1.985, 2.16479, 2.59214, 2.67097, + 1.05777, 1.37751, 1.86611, 2.16542, 2.49067, 2.62334, + 1.00177, 1.3213, 1.90229, 2.13388, 2.49989, 2.65935, + 0.896048, 1.41478, 1.92755, 2.1276, 2.57065, 2.6585, + 0.862503, 1.58697, 1.94655, 2.15362, 2.61512, 2.67787, + 0.837783, 1.70001, 1.93298, 2.20945, 2.58857, 2.68753, + 0.901209, 1.63977, 1.99997, 2.07058, 2.5153, 2.76315, + 0.955829, 1.60125, 2.00897, 2.11223, 2.50389, 2.59284, + 0.939285, 1.70409, 2.02741, 2.12592, 2.43001, 2.53892, + 0.948268, 1.70087, 2.00277, 2.08835, 2.56347, 2.62211, + 0.959154, 1.62427, 2.00582, 2.07776, 2.57772, 2.65873, + 0.932538, 1.59344, 1.95283, 2.04466, 2.56798, 2.6445, + 0.933107, 1.59056, 1.9457, 2.1119, 2.53428, 2.60887, + 0.943808, 1.64909, 1.89702, 2.10465, 2.57817, 2.68976, + 1.00303, 1.61916, 1.93023, 2.21672, 2.58234, 2.63789, + 0.93681, 1.69235, 1.96553, 2.11865, 2.62852, 2.6848, + 0.973578, 1.73782, 1.97567, 2.10634, 2.65829, 2.72245, + 0.955324, 1.75019, 1.96144, 2.07537, 2.65561, 2.73176, + 0.994013, 1.72739, 1.94678, 2.06241, 2.64338, 2.73849, + 1.00536, 1.69392, 1.92987, 2.10018, 2.61875, 2.68486, + 0.967862, 1.64008, 1.93026, 2.02155, 2.63989, 2.72666, + 0.928258, 1.57936, 1.86441, 1.97301, 2.63891, 2.71789, + 1.05833, 1.41059, 1.87085, 2.06602, 2.45158, 2.6337, + 1.12305, 1.48688, 1.86297, 2.08608, 2.41298, 2.59174, + 1.17747, 1.43154, 1.84929, 2.09976, 2.42334, 2.56613, + 1.18703, 1.44351, 1.88207, 1.98332, 2.55067, 2.63939, + 1.26797, 1.62839, 1.93261, 2.04328, 2.55223, 2.64173, + 1.35555, 1.70156, 1.92424, 2.03456, 2.59018, 2.66096, + 1.47206, 1.73998, 1.91426, 2.05233, 2.57389, 2.64493, + 1.46149, 1.79066, 1.91131, 2.05787, 2.5256, 2.58723, + 1.54235, 1.7424, 1.90165, 2.06306, 2.49917, 2.58066, + 1.55081, 1.6429, 1.87739, 1.99515, 2.47436, 2.56117, + 1.62535, 1.72476, 1.89911, 2.05259, 2.44709, 2.55685, + 1.6367, 1.7422, 1.90449, 2.15532, 2.47031, 2.56929, + 1.60869, 1.70103, 1.95711, 2.08558, 2.46532, 2.5522, + 1.51757, 1.68517, 1.92305, 2.02897, 2.3829, 2.50393, + 1.21585, 1.64813, 1.84289, 2.04997, 2.39383, 2.48435, + 1.1585, 1.45299, 1.75267, 1.85902, 2.46727, 2.57552, + 1.12827, 1.38415, 1.8015, 1.89918, 2.47245, 2.60999, + 1.08062, 1.41434, 1.81249, 1.91664, 2.42269, 2.62012, + 1.10487, 1.49291, 1.85404, 1.97194, 2.444, 2.58358, + 1.23581, 1.43782, 1.91948, 2.04279, 2.484, 2.61715, + 1.16741, 1.4076, 1.77439, 2.07357, 2.3906, 2.54332, + 1.09657, 1.31723, 1.78221, 2.01354, 2.39437, 2.57181, + 1.10431, 1.2068, 1.71858, 2.00101, 2.35134, 2.50564, + 1.04732, 1.31689, 1.82432, 2.05077, 2.41716, 2.53103, + 1.08718, 1.4084, 1.84314, 2.03167, 2.44048, 2.54426, + 1.10852, 1.3942, 1.76003, 2.00573, 2.43503, 2.55215, + 1.12177, 1.34059, 1.7495, 1.96363, 2.49382, 2.60964, + 1.12241, 1.45271, 1.79313, 2.03041, 2.50213, 2.59324, + 1.02688, 1.4681, 1.74534, 1.86047, 2.48368, 2.57975, + 0.97167, 1.24409, 1.75298, 1.83733, 2.38472, 2.62532, + 0.917302, 1.10441, 1.67493, 1.79243, 2.33619, 2.62947, + 0.96156, 1.08836, 1.55578, 1.66371, 2.28232, 2.57975, + 0.919563, 1.06328, 1.5732, 1.7111, 2.42269, 2.67598, + 0.875889, 1.02261, 1.38084, 1.82916, 2.58466, 2.66738, + 0.763749, 1.01881, 1.50632, 1.70798, 2.47153, 2.59587, + 0.886944, 1.03139, 1.42506, 1.71002, 2.42792, 2.57639, + 0.890351, 1.03765, 1.44399, 1.58788, 2.52021, 2.69583, + 0.906256, 1.03505, 1.40561, 1.52374, 2.53653, 2.59608, + 0.929418, 1.06107, 1.15709, 1.5666, 2.52826, 2.69407, + 0.917396, 1.10612, 1.25304, 1.38951, 2.55157, 2.7091, + 0.91023, 1.04207, 1.16253, 1.36213, 2.39308, 2.60535, + 0.804288, 1.05959, 1.41808, 1.53036, 2.41057, 2.66344, + 0.907675, 1.04629, 1.39254, 1.50823, 2.49535, 2.69234, + 0.835212, 1.12687, 1.3505, 1.46321, 2.56773, 2.69467, + 0.770295, 1.1507, 1.42826, 1.60117, 2.61023, 2.68367, + 0.924536, 1.07541, 1.46853, 1.66987, 2.54368, 2.6932, + 0.972382, 1.19176, 1.54476, 1.63867, 2.53532, 2.64297, + 0.903877, 1.10193, 1.51078, 1.60266, 2.48704, 2.63827, + 0.881279, 1.0969, 1.55425, 1.6443, 2.42466, 2.55757, + 0.866115, 1.11888, 1.60304, 1.70247, 2.5439, 2.6493, + 0.906645, 1.16025, 1.67202, 1.74726, 2.51791, 2.65086, + 0.861085, 1.20586, 1.66099, 1.84709, 2.46274, 2.63203, + 0.837175, 1.18778, 1.80604, 1.8895, 2.50861, 2.68456, + 0.797709, 1.17852, 1.90318, 2.02165, 2.54618, 2.69007, + 0.802875, 1.26275, 1.92394, 2.00058, 2.56844, 2.67011, + 0.766638, 1.32083, 1.96102, 2.05894, 2.58231, 2.64672, + 0.811579, 1.45519, 2.01148, 2.08478, 2.54842, 2.63993, + 0.82977, 1.48496, 2.05271, 2.12723, 2.53064, 2.60818, + 0.799011, 1.56745, 2.15563, 2.26511, 2.57317, 2.6685, + 0.730379, 1.35861, 2.12579, 2.19459, 2.5187, 2.60543, + 0.720667, 1.27784, 2.04281, 2.11192, 2.5928, 2.6753, + 0.777663, 1.1637, 2.06679, 2.1792, 2.57, 2.67551, + 0.839969, 1.37318, 2.18588, 2.30468, 2.50936, 2.60258, + 0.815752, 1.91522, 2.23363, 2.28848, 2.56998, 2.62843, + 1.19188, 1.94569, 2.17513, 2.29905, 2.52352, 2.63204, + 1.03628, 1.74221, 2.07271, 2.14156, 2.57319, 2.64155, + 1.04251, 1.30305, 2.01289, 2.15461, 2.53068, 2.64918, + 1.10994, 1.20424, 1.92869, 2.05823, 2.3841, 2.63957, + 1.18739, 1.2877, 1.95425, 2.07126, 2.38256, 2.64181, + 1.23919, 1.32776, 1.93055, 2.01528, 2.36169, 2.6275, + 1.29208, 1.35198, 1.93801, 2.01732, 2.4115, 2.66343, + 1.30624, 1.3824, 1.91845, 2.03831, 2.33939, 2.63774, + 1.33024, 1.40164, 1.87376, 1.99044, 2.1855, 2.51091, + 1.35639, 1.45976, 1.88339, 1.98046, 2.26455, 2.54181, + 1.3474, 1.43864, 1.89167, 2.01801, 2.30257, 2.64381, + 1.30088, 1.39017, 1.88927, 1.97293, 2.33752, 2.60564, + 1.31867, 1.41012, 1.89535, 1.99037, 2.38468, 2.65404, + 1.30927, 1.4255, 1.96615, 2.0219, 2.50112, 2.69851, + 1.29385, 1.37092, 1.90844, 1.99915, 2.46548, 2.674, + 1.2774, 1.38284, 2.0023, 2.06684, 2.49685, 2.66407, + 1.24538, 1.42244, 2.00291, 2.07072, 2.55684, 2.66639, + 1.27259, 1.49109, 2.0123, 2.12924, 2.56231, 2.65743, + 1.26518, 1.53394, 2.02094, 2.09309, 2.49838, 2.63095, + 1.2657, 1.47703, 2.10301, 2.19653, 2.45528, 2.61989, + 1.2885, 1.64245, 2.09385, 2.24783, 2.56169, 2.65879, + 1.41026, 1.82897, 2.17187, 2.37413, 2.56459, 2.65338, + 1.35389, 1.71004, 2.20933, 2.42604, 2.62932, 2.70219, + 1.41361, 1.76693, 2.13772, 2.43485, 2.63206, 2.70291, + 1.45905, 1.70694, 2.13508, 2.37703, 2.62642, 2.70895, + 1.49802, 1.68792, 2.09482, 2.34295, 2.55878, 2.6657, + 1.41391, 1.58827, 2.08673, 2.29308, 2.51359, 2.64213, + 1.4, 1.55334, 1.93877, 2.18387, 2.45866, 2.61041, + 1.37352, 1.44979, 1.8806, 2.07984, 2.29824, 2.55977, + 1.36754, 1.44075, 1.97377, 2.08607, 2.33911, 2.62191, + 1.36884, 1.46082, 2.00605, 2.12979, 2.39152, 2.65052, + 1.37599, 1.49624, 2.05005, 2.13085, 2.45392, 2.69863, + 1.34057, 1.48416, 2.08413, 2.14094, 2.54992, 2.68543, + 1.38997, 1.55301, 2.06378, 2.14798, 2.59226, 2.70382, + 1.24745, 1.50338, 2.0443, 2.13649, 2.34449, 2.59917, + 1.31511, 1.54085, 2.02833, 2.11633, 2.27254, 2.43155, + 1.29883, 1.58749, 2.07193, 2.18587, 2.33569, 2.50078, + 1.29366, 1.56243, 2.0311, 2.14961, 2.40817, 2.51729, + 1.35755, 1.5133, 1.99809, 2.15305, 2.45046, 2.5838, + 1.31441, 1.51742, 2.07946, 2.17944, 2.52229, 2.6162, + 1.23775, 1.51356, 2.05223, 2.18107, 2.53904, 2.62816, + 1.20856, 1.48604, 2.0465, 2.19467, 2.48998, 2.63667, + 1.19657, 1.46249, 2.07314, 2.23086, 2.54763, 2.7006, + 1.08094, 1.45943, 2.1105, 2.21771, 2.53813, 2.67835, + 1.09448, 1.37861, 2.16788, 2.24618, 2.56793, 2.69132, + 0.942435, 1.46334, 2.25353, 2.33078, 2.53848, 2.62677, + 0.828468, 1.39017, 2.15232, 2.21803, 2.54527, 2.62149, + 0.883311, 1.3342, 2.09482, 2.19126, 2.47558, 2.57346, + 0.863185, 1.41868, 2.08049, 2.16638, 2.5561, 2.71409, + 0.84852, 1.39108, 2.04932, 2.13419, 2.70254, 2.78082, + 0.826225, 1.37358, 2.03739, 2.12058, 2.73609, 2.78259, + 0.823246, 1.34385, 2.03389, 2.1118, 2.74087, 2.78707, + 0.833848, 1.33679, 2.04545, 2.11801, 2.69961, 2.79618, + 0.811654, 1.32134, 2.09499, 2.17812, 2.49423, 2.6499, + 0.947528, 1.36115, 2.12785, 2.21901, 2.51138, 2.66819, + 0.875759, 1.25161, 2.13342, 2.24175, 2.47382, 2.66293, + 0.933534, 1.44844, 2.13913, 2.24451, 2.48676, 2.60694, + 0.945109, 1.2808, 2.20894, 2.33506, 2.51132, 2.61453, + 0.956935, 1.37124, 2.1072, 2.19452, 2.40325, 2.57303, + 0.981, 1.25193, 2.14796, 2.2666, 2.44042, 2.62437, + 1.06161, 1.23169, 2.07602, 2.2334, 2.4386, 2.63699, + 1.01887, 1.35404, 1.99803, 2.26008, 2.44314, 2.55477, + 1.0803, 1.30189, 2.03463, 2.1456, 2.41506, 2.59122, + 1.13387, 1.35976, 2.06395, 2.16463, 2.43939, 2.62866, + 1.12504, 1.41413, 1.99754, 2.10372, 2.39242, 2.59958, + 1.16727, 1.39356, 1.99818, 2.07648, 2.44178, 2.64329, + 1.1987, 1.42119, 1.96798, 2.05702, 2.43282, 2.64507, + 1.25623, 1.37807, 1.94185, 2.01933, 2.44458, 2.60885, + 1.29557, 1.41215, 1.93241, 2.00835, 2.43005, 2.64902, + 1.28135, 1.46452, 1.88824, 2.00652, 2.42528, 2.6352, + 1.27058, 1.4067, 1.90119, 1.96929, 2.47098, 2.6479, + 1.2667, 1.37289, 1.87181, 1.95759, 2.41497, 2.64862, + 1.19439, 1.35174, 1.88825, 1.97809, 2.40086, 2.66266, + 1.19887, 1.29984, 1.86428, 1.96365, 2.36279, 2.61951, + 1.12658, 1.2401, 1.90254, 1.99765, 2.33143, 2.60863, + 1.10462, 1.21418, 1.87979, 2.01431, 2.25166, 2.57337, + 1.02429, 1.19321, 1.86892, 2.12788, 2.37601, 2.62345, + 1.00036, 1.23021, 1.9603, 2.07524, 2.32935, 2.58413, + 0.977548, 1.32199, 1.98875, 2.10426, 2.38103, 2.60792, + 0.927608, 1.44792, 2.02789, 2.12301, 2.47848, 2.58588, + 0.887733, 1.51653, 2.0469, 2.15389, 2.48052, 2.58201, + 0.898681, 1.56475, 2.09153, 2.17965, 2.57394, 2.67678, + 0.974718, 1.50086, 2.08197, 2.17778, 2.53228, 2.63499, + 1.02382, 1.39064, 2.06059, 2.14203, 2.46939, 2.63691, + 1.10658, 1.43105, 1.97713, 2.09715, 2.47169, 2.65912, + 1.20126, 1.48566, 1.94465, 2.11254, 2.50025, 2.66593, + 1.28569, 1.52066, 1.91106, 2.04425, 2.48771, 2.6658, + 1.36249, 1.53479, 1.91055, 1.99094, 2.50571, 2.66153, + 1.43459, 1.51484, 1.93419, 2.01741, 2.50153, 2.69388, + 1.42084, 1.51949, 1.90935, 1.98665, 2.4604, 2.68819, + 1.40441, 1.46981, 1.96429, 2.05423, 2.36679, 2.65527, + 1.38829, 1.46691, 1.96405, 2.05895, 2.28653, 2.60493, + 1.368, 1.43481, 1.8577, 2.00712, 2.19658, 2.60419, + 1.30084, 1.38054, 1.74025, 2.04689, 2.23523, 2.52191, + 1.2313, 1.3216, 1.86723, 2.14763, 2.35463, 2.57914, + 1.15492, 1.2559, 1.93232, 2.16437, 2.39283, 2.60599, + 1.09866, 1.20222, 1.94827, 2.15016, 2.4926, 2.62574, + 1.05746, 1.22185, 1.86913, 2.26883, 2.45654, 2.58036, + 1.03308, 1.1501, 1.70887, 2.26488, 2.47604, 2.56361, + 0.988998, 1.15927, 1.96203, 2.30271, 2.44872, 2.56072, + 1.02842, 1.22869, 2.02591, 2.26037, 2.56185, 2.66176, + 0.93486, 1.34821, 2.05389, 2.21474, 2.5253, 2.64771, + 0.91915, 1.26456, 2.06814, 2.1834, 2.53498, 2.64432, + 0.975247, 1.36223, 2.05215, 2.23142, 2.5828, 2.72448, + 0.954336, 1.31118, 1.97737, 2.23816, 2.47811, 2.61705, + 0.941853, 1.33598, 1.97642, 2.21901, 2.57949, 2.7143, + 0.928694, 1.36645, 1.88488, 2.18315, 2.58056, 2.65759, + 0.986067, 1.33837, 1.95432, 2.18786, 2.56652, 2.63883, + 0.912646, 1.2844, 1.81414, 2.17507, 2.55393, 2.63852, + 0.968965, 1.3105, 1.83969, 2.07808, 2.59033, 2.66057, + 0.977192, 1.30463, 1.88095, 2.12702, 2.59804, 2.71211, + 1.02384, 1.29962, 1.94471, 2.10378, 2.62592, 2.7309, + 1.11021, 1.28631, 1.95938, 2.05397, 2.56459, 2.67613, + 1.02814, 1.32424, 1.97674, 2.09494, 2.5862, 2.75473, + 1.1298, 1.26991, 2.01187, 2.10922, 2.5889, 2.69654, + 1.05697, 1.34048, 2.01617, 2.10555, 2.55761, 2.74716, + 1.0375, 1.25577, 2.02939, 2.13619, 2.51178, 2.70963, + 1.00616, 1.41717, 2.07195, 2.13261, 2.5439, 2.70196, + 1.13696, 1.41621, 2.05034, 2.11204, 2.44967, 2.6952, + 1.13532, 1.43627, 2.08385, 2.19492, 2.38638, 2.65693, + 1.09407, 1.38546, 2.01516, 2.11333, 2.3201, 2.64153, + 1.02593, 1.36065, 1.8783, 1.98146, 2.12804, 2.45894, + 1.14275, 1.41616, 1.90101, 2.05488, 2.17021, 2.45905, + 1.09321, 1.48838, 1.80138, 2.07358, 2.20343, 2.49483, + 1.16124, 1.26326, 1.78481, 2.0712, 2.19458, 2.43622, + 1.01079, 1.14118, 1.72817, 2.11872, 2.25127, 2.42633, + 1.0838, 1.27598, 1.88843, 2.06839, 2.22746, 2.51111, + 1.09382, 1.3034, 1.92409, 2.18396, 2.34853, 2.5317, + 1.40987, 1.54006, 1.72233, 2.04991, 2.23569, 2.38925, + 1.4666, 1.61703, 1.81939, 2.03581, 2.43973, 2.54332, + 1.52688, 1.81173, 1.92615, 2.1292, 2.48147, 2.55606, + 1.42046, 1.73161, 1.92536, 2.08112, 2.47445, 2.57028, + 1.24837, 1.46252, 1.69927, 1.90711, 2.35535, 2.4848, + 1.18322, 1.55816, 1.64662, 1.99981, 2.37407, 2.4616, + 1.14384, 1.51329, 1.67569, 1.90675, 2.42836, 2.51879, + 1.06699, 1.50005, 1.66753, 1.96146, 2.4459, 2.52156, + 1.04665, 1.52076, 1.70516, 1.87838, 2.45976, 2.53273, + 1.01371, 1.55953, 1.73753, 1.95585, 2.43782, 2.51586, + 1.02195, 1.58688, 1.73703, 1.92918, 2.52364, 2.57788, + 0.942307, 1.57915, 1.7761, 2.06027, 2.43722, 2.51765, + 0.914226, 1.64208, 1.8128, 2.00109, 2.50851, 2.57006, + 0.952017, 1.68807, 1.93502, 2.01615, 2.44679, 2.56358, + 0.85628, 1.69751, 1.90273, 2.01269, 2.52241, 2.5844, + 0.891878, 1.55315, 1.9355, 2.04697, 2.53266, 2.59497, + 0.845424, 1.60229, 1.93772, 2.02752, 2.58302, 2.64917, + 0.876501, 1.71662, 1.93957, 2.06754, 2.58826, 2.62536, + 0.901014, 1.86437, 1.97892, 2.07519, 2.46267, 2.6098, + 0.911677, 1.76785, 1.94779, 2.07258, 2.59574, 2.63495, + 0.937394, 1.70873, 1.92774, 2.05461, 2.57411, 2.64743, + 1.00365, 1.61461, 1.94206, 2.03598, 2.59201, 2.66472, + 1.08941, 1.56371, 1.91069, 1.97496, 2.59091, 2.68182, + 1.1802, 1.45723, 1.84084, 1.92159, 2.57341, 2.65935, + 1.23938, 1.44428, 1.81891, 1.89387, 2.5596, 2.65742, + 1.37732, 1.52899, 1.7449, 1.86222, 2.59116, 2.66907, + 1.5049, 1.58946, 1.77776, 1.88723, 2.50621, 2.61775, + 1.62841, 1.69744, 1.8306, 1.95757, 2.49541, 2.65298, + 1.65534, 1.72676, 1.91445, 2.04295, 2.58971, 2.65897, + 1.69817, 1.75401, 1.96719, 2.09043, 2.60271, 2.67713, + 1.6763, 1.76771, 2.04285, 2.15667, 2.62832, 2.69069, + 1.72497, 1.78993, 2.02225, 2.13845, 2.57623, 2.67177, + 1.74819, 1.80267, 2.03778, 2.18025, 2.54251, 2.63895, + 1.72749, 1.82059, 1.98449, 2.15907, 2.52527, 2.64111, + 1.68116, 1.82095, 1.9757, 2.15738, 2.4858, 2.59041, + 1.69559, 1.80719, 1.99368, 2.18089, 2.38033, 2.56086, + 1.70693, 1.8107, 2.00812, 2.1331, 2.42075, 2.64175, + 1.65458, 1.76573, 2.02476, 2.12403, 2.49348, 2.66085, + 1.48228, 1.84953, 2.03934, 2.24048, 2.45722, 2.54777, + 1.60391, 1.83254, 2.0516, 2.25163, 2.46114, 2.56041, + 1.61191, 1.78732, 2.13446, 2.25032, 2.62094, 2.67828, + 1.70226, 1.85766, 2.09357, 2.24578, 2.63356, 2.6878, + 1.69236, 1.77625, 2.02619, 2.27536, 2.58055, 2.68324, + 1.58711, 1.7503, 1.99794, 2.24207, 2.58654, 2.69145, + 1.53555, 1.76534, 2.05361, 2.23362, 2.64673, 2.71788, + 1.18962, 1.33679, 1.76375, 2.00182, 2.43607, 2.59429, + 1.19096, 1.32263, 1.6625, 2.02854, 2.34741, 2.53098, + 1.17093, 1.39469, 1.72743, 2.02281, 2.38266, 2.5526, + 1.0828, 1.38331, 1.62323, 1.82565, 2.46313, 2.57449, + 1.05886, 1.31642, 1.61784, 1.7344, 2.49668, 2.60735, + 1.03174, 1.33271, 1.53473, 1.70742, 2.43327, 2.54421, + 1.09663, 1.40593, 1.54058, 1.71992, 2.50965, 2.57321, + 1.08814, 1.38193, 1.50722, 1.61855, 2.48411, 2.61844, + 1.12836, 1.34181, 1.49417, 1.71555, 2.49597, 2.57986, + 1.17504, 1.36011, 1.5729, 1.75716, 2.48116, 2.58891, + 1.25184, 1.38829, 1.58041, 1.74429, 2.53023, 2.61428, + 1.31074, 1.44427, 1.65725, 1.82349, 2.51511, 2.6146, + 1.32959, 1.48366, 1.70393, 1.87146, 2.53237, 2.62192, + 1.36465, 1.5031, 1.75584, 1.91903, 2.54748, 2.62441, + 1.40014, 1.51678, 1.80865, 1.94381, 2.57234, 2.65555, + 1.40394, 1.53678, 1.85457, 1.96117, 2.52777, 2.65014, + 1.44164, 1.5349, 1.87363, 1.97075, 2.52812, 2.67083, + 1.44861, 1.52867, 1.86098, 1.95195, 2.47324, 2.65781, + 1.45162, 1.54784, 1.82415, 2.01998, 2.46245, 2.6541, + 1.47491, 1.54848, 1.89089, 1.99547, 2.48461, 2.65999, + 1.43235, 1.54152, 1.88892, 2.0602, 2.40709, 2.63044, + 1.44374, 1.52979, 1.8927, 1.99659, 2.3738, 2.62098, + 1.37922, 1.48973, 1.89736, 2.01674, 2.41678, 2.6275, + 1.37707, 1.46312, 1.91165, 2.02262, 2.35539, 2.60865, + 1.3318, 1.43104, 1.92917, 2.0469, 2.37404, 2.605, + 1.26139, 1.44854, 1.97546, 2.08252, 2.36686, 2.6208, + 1.22253, 1.41897, 1.97979, 2.11631, 2.43959, 2.66463, + 1.14294, 1.30444, 1.9845, 2.07136, 2.47308, 2.67295, + 1.16307, 1.26852, 1.93044, 2.0463, 2.3051, 2.59445, + 1.10251, 1.24609, 1.95173, 2.10327, 2.29978, 2.57198, + 1.01057, 1.14733, 1.90254, 2.04624, 2.28802, 2.567, + 1.01047, 1.307, 1.82765, 2.07687, 2.33326, 2.55597, + 1.24634, 1.53463, 1.85908, 2.18799, 2.38807, 2.54162, + 1.20049, 1.57894, 1.89923, 2.16502, 2.44888, 2.58318, + 0.969958, 1.32117, 1.8792, 2.16627, 2.41795, 2.60245, + 0.883738, 1.35958, 2.00452, 2.10073, 2.51698, 2.63339, + 0.844286, 1.40555, 2.05705, 2.14052, 2.51643, 2.66006, + 0.862435, 1.50233, 2.10741, 2.20516, 2.55819, 2.66049, + 0.940459, 1.42824, 2.13982, 2.23332, 2.56448, 2.67376, + 0.930987, 1.58398, 2.0219, 2.15239, 2.40404, 2.50634, + 1.04656, 1.79826, 1.98842, 2.12929, 2.35758, 2.45354, + 1.05348, 1.59375, 2.10433, 2.23268, 2.37281, 2.49815, + 1.13765, 1.64278, 2.08915, 2.23181, 2.38316, 2.57557, + 1.18078, 1.89984, 2.11471, 2.22334, 2.45315, 2.55491, + 1.14477, 1.7958, 2.05817, 2.1941, 2.45214, 2.55875, + 1.13255, 1.6883, 1.98025, 2.10745, 2.32195, 2.44657, + 1.15584, 1.527, 1.95125, 2.10187, 2.26567, 2.42326, + 1.21899, 1.55188, 1.97893, 2.1295, 2.36524, 2.54789, + 1.26996, 1.59283, 1.9574, 2.05925, 2.47736, 2.62007, + 1.30477, 1.59715, 1.97427, 2.08441, 2.41441, 2.61344, + 1.30461, 1.64552, 1.9768, 2.10058, 2.36447, 2.5106, + 1.35745, 1.72162, 2.01397, 2.14179, 2.38518, 2.51214, + 1.33572, 1.83391, 2.00127, 2.15585, 2.40144, 2.4961, + 1.3114, 1.55829, 1.93876, 2.06328, 2.30727, 2.52662, + 1.36036, 1.44076, 1.89358, 2.07531, 2.23753, 2.5046, + 1.3316, 1.46849, 1.9289, 2.06096, 2.31803, 2.56782, + 1.31861, 1.5376, 1.92447, 2.01519, 2.35881, 2.59331, + 1.21436, 1.54619, 1.8821, 1.99525, 2.37793, 2.65294, + 1.29633, 1.56653, 1.87514, 2.00328, 2.47632, 2.63153, + 1.39778, 1.58615, 1.86148, 2.03011, 2.58706, 2.65465, + 1.47524, 1.6442, 1.91588, 2.04703, 2.65327, 2.71442, + 1.52474, 1.71602, 1.95782, 2.06765, 2.6237, 2.69024, + 1.57869, 1.67781, 1.94092, 2.06678, 2.61383, 2.70458, + 1.55866, 1.70253, 1.93011, 2.02827, 2.61505, 2.68653, + 1.5009, 1.6999, 1.90892, 1.99874, 2.62063, 2.69128, + 1.44295, 1.70267, 1.90099, 1.97533, 2.62473, 2.69924, + 1.37288, 1.63829, 1.91771, 2.02829, 2.62618, 2.69745, + 1.28422, 1.65621, 1.89785, 1.99256, 2.64442, 2.70738, + 1.20404, 1.65182, 1.88977, 1.99256, 2.63849, 2.70958, + 1.1492, 1.62207, 1.88451, 1.97925, 2.63269, 2.69924, + 1.13373, 1.61863, 1.89504, 1.97754, 2.62505, 2.69488, + 1.15757, 1.66233, 1.88978, 1.97839, 2.62603, 2.68454, + 1.21894, 1.6671, 1.87906, 2.00517, 2.60227, 2.65813, + 1.22423, 1.62686, 1.79198, 1.89465, 2.51764, 2.64787, + 1.35435, 1.55876, 1.84308, 1.93089, 2.57122, 2.63086, + 1.33953, 1.59509, 1.76225, 1.97927, 2.54602, 2.6132, + 1.38922, 1.59242, 1.85964, 1.96212, 2.55095, 2.63771, + 1.44127, 1.59043, 1.87939, 1.98705, 2.58201, 2.66674, + 1.43103, 1.60981, 1.89027, 2.03787, 2.52504, 2.67206, + 1.46838, 1.57542, 1.94585, 2.02987, 2.55147, 2.70532, + 1.45009, 1.60143, 1.9541, 2.0628, 2.53413, 2.66697, + 1.48217, 1.56544, 1.97359, 2.12415, 2.52021, 2.65602, + 1.42942, 1.56017, 1.98437, 2.07841, 2.51093, 2.66835, + 1.44091, 1.58793, 1.97609, 2.09796, 2.46414, 2.62167, + 1.43247, 1.58261, 1.97335, 2.15993, 2.50051, 2.66833, + 1.4291, 1.59392, 1.97481, 2.07021, 2.52705, 2.68379, + 1.37725, 1.57105, 1.93703, 2.09434, 2.48861, 2.65319, + 1.48527, 1.57272, 1.93552, 2.01586, 2.47189, 2.68702, + 1.47361, 1.56926, 1.87262, 1.96288, 2.4128, 2.65437, + 1.48606, 1.58025, 1.86625, 1.97554, 2.31875, 2.58671, + 1.46521, 1.58112, 1.78499, 1.91302, 2.17248, 2.55592, + 1.43366, 1.56634, 1.72851, 1.85326, 2.06197, 2.41395, + 1.36761, 1.54384, 1.70007, 1.85497, 2.03462, 2.28202, + 1.50326, 1.65718, 1.80936, 1.93767, 2.14319, 2.43561, + 1.34074, 1.59327, 1.83384, 2.12941, 2.46894, 2.57284, + 1.33672, 1.4817, 1.94477, 2.23061, 2.48029, 2.58012, + 1.32132, 1.60314, 1.96833, 2.20337, 2.5151, 2.65005, + 1.34193, 1.66834, 1.98884, 2.18525, 2.56414, 2.65322, + 1.31555, 1.6489, 1.9599, 2.14764, 2.51689, 2.61262, + 1.27731, 1.62022, 2.00186, 2.22941, 2.53155, 2.62182, + 1.30517, 1.5786, 2.03863, 2.29551, 2.56534, 2.65484, + 1.33051, 1.60991, 1.99154, 2.26271, 2.56334, 2.66596, + 1.374, 1.68393, 1.98007, 2.33857, 2.5956, 2.68273, + 1.2687, 1.38975, 1.88538, 2.1104, 2.48811, 2.63864, + 1.21681, 1.31005, 1.85469, 2.03671, 2.27759, 2.56653, + 1.23495, 1.33781, 1.94943, 2.05936, 2.29533, 2.56647, + 1.18894, 1.30239, 1.9962, 2.10744, 2.34919, 2.58524, + 1.26898, 1.44015, 2.02477, 2.13685, 2.44401, 2.66404, + 1.27437, 1.38312, 2.06673, 2.15117, 2.40756, 2.6542, + 1.26455, 1.35612, 2.00166, 2.11886, 2.28778, 2.56954, + 1.23434, 1.32978, 2.06339, 2.15077, 2.36719, 2.5986, + 1.15521, 1.25744, 2.0825, 2.21144, 2.39059, 2.6201, + 1.19946, 1.26556, 1.93498, 2.22669, 2.54089, 2.6642, + 1.3047, 1.52685, 1.95455, 2.17466, 2.47769, 2.62171, + 1.63807, 1.89626, 2.07708, 2.36101, 2.64603, 2.71884, + 1.64382, 1.94311, 2.13199, 2.32962, 2.57872, 2.64546, + 1.6409, 1.98922, 2.16147, 2.26921, 2.58647, 2.6554, + 1.72301, 1.91007, 2.07019, 2.25957, 2.56439, 2.64034, + 1.65207, 1.99873, 2.13594, 2.35282, 2.65251, 2.71747, + 1.68072, 2.07409, 2.26967, 2.45347, 2.69994, 2.76304, + 1.69509, 2.05897, 2.19364, 2.31357, 2.63934, 2.69945, + 1.78296, 2.01403, 2.2249, 2.33229, 2.64535, 2.7244, + 1.70596, 1.97475, 2.18083, 2.25608, 2.57518, 2.71694, + 1.66256, 1.98864, 2.11518, 2.20528, 2.54838, 2.65766, + 1.56205, 1.8439, 2.17327, 2.26589, 2.47795, 2.69597, + 1.68592, 1.79584, 2.07833, 2.18014, 2.46537, 2.66731, + 1.68061, 1.73855, 1.99474, 2.13119, 2.47319, 2.64954, + 1.65929, 1.83364, 2.00009, 2.14017, 2.56491, 2.69272, + 1.71489, 1.78482, 1.97491, 2.08523, 2.56667, 2.70104, + 1.72911, 1.82606, 1.89504, 2.05372, 2.60392, 2.69924, + 1.69629, 1.79108, 1.91604, 2.01774, 2.58311, 2.7042, + 1.62684, 1.72099, 1.89044, 2.01448, 2.58919, 2.68914, + 1.57418, 1.678, 1.8808, 1.9828, 2.57498, 2.66408, + 1.4326, 1.67638, 1.83467, 1.96466, 2.5353, 2.63865, + 1.31853, 1.53537, 1.83696, 1.93288, 2.47841, 2.57835, + 1.22629, 1.49295, 1.83642, 1.94607, 2.43017, 2.58207, + 1.09891, 1.49905, 1.89629, 2.02887, 2.54053, 2.6186, + 1.03446, 1.53337, 1.96484, 2.07097, 2.57858, 2.65152, + 0.979835, 1.48091, 1.97596, 2.08932, 2.53424, 2.63263, + 0.916592, 1.48129, 1.96751, 2.05329, 2.55835, 2.64274, + 0.937338, 1.47437, 2.02376, 2.11046, 2.58544, 2.66546, + 0.873055, 1.56053, 2.0288, 2.08642, 2.57502, 2.68478, + 0.901938, 1.62841, 2.03181, 2.10285, 2.61016, 2.68565, + 0.862562, 1.55614, 1.99757, 2.08174, 2.5332, 2.61576, + 0.90614, 1.66574, 2.01937, 2.13334, 2.58193, 2.66115, + 0.872836, 1.63866, 2.03844, 2.09728, 2.64501, 2.69779, + 0.829264, 1.4419, 2.03919, 2.11114, 2.61166, 2.68861, + 0.825197, 1.30453, 2.05635, 2.14379, 2.59031, 2.65782, + 0.79352, 1.52102, 1.97944, 2.05842, 2.59623, 2.66858, + 0.849751, 1.48553, 1.9861, 2.05546, 2.62427, 2.7019, + 0.849936, 1.38559, 2.00752, 2.06058, 2.56723, 2.67845, + 0.829655, 1.23098, 1.9884, 2.10148, 2.53073, 2.67733, + 0.940677, 1.26451, 1.94632, 2.04672, 2.49981, 2.67798, + 1.03888, 1.29749, 1.95821, 2.036, 2.40697, 2.65032, + 1.15791, 1.24731, 1.89251, 1.98433, 2.39699, 2.6634, + 1.23706, 1.31883, 1.84331, 1.95477, 2.42085, 2.69391, + 1.32887, 1.40395, 1.80868, 1.94612, 2.40089, 2.6834, + 1.39319, 1.46081, 1.82213, 1.9396, 2.24255, 2.72323, + 1.37096, 1.52614, 1.78537, 1.96316, 2.13675, 2.6448, + 1.50113, 1.60677, 1.84183, 2.00946, 2.19846, 2.61465, + 1.46794, 1.55147, 1.84985, 1.98283, 2.2086, 2.51479, + 1.40594, 1.48098, 1.85598, 1.99706, 2.17872, 2.49001, + 1.44817, 1.52096, 1.86881, 1.97537, 2.24103, 2.61635, + 1.38081, 1.61267, 1.86996, 2.02679, 2.44348, 2.63998, + 1.48372, 1.59611, 1.96973, 2.10091, 2.57743, 2.68814, + 1.46768, 1.57822, 1.98656, 2.19471, 2.57095, 2.67109, + 1.4963, 1.6142, 2.03202, 2.21832, 2.55346, 2.68181, + 1.59696, 1.72273, 2.14453, 2.31998, 2.60439, 2.70396, + 1.56328, 1.83007, 2.21313, 2.43293, 2.64111, 2.721, + 1.5911, 1.94848, 2.28841, 2.48658, 2.66684, 2.74357, + 1.47571, 1.71866, 2.05098, 2.21796, 2.48728, 2.5718, + 1.55893, 1.7723, 2.09447, 2.23446, 2.51893, 2.59774, + 1.56759, 1.82209, 2.10059, 2.28665, 2.53395, 2.64811, + 1.75003, 1.93667, 2.1356, 2.34764, 2.5469, 2.63832, + 1.75688, 1.99858, 2.1168, 2.22341, 2.55656, 2.64706, + 1.70004, 1.92226, 2.07535, 2.18437, 2.55608, 2.63906, + 1.59867, 1.70971, 1.99456, 2.09879, 2.5214, 2.62844, + 1.60978, 1.7198, 1.93753, 2.09198, 2.54758, 2.62107, + 1.58074, 1.68669, 1.92793, 2.05951, 2.58033, 2.64353, + 1.54116, 1.68466, 1.9448, 2.03825, 2.56852, 2.6371, + 1.4745, 1.63389, 1.88133, 1.98885, 2.5547, 2.62359, + 1.42769, 1.61681, 1.89847, 1.99412, 2.54591, 2.63584, + 1.36697, 1.58374, 1.86076, 2.01809, 2.52625, 2.59403, + 1.2579, 1.5624, 1.87076, 1.96175, 2.51205, 2.58959, + 1.18331, 1.57125, 1.86744, 1.98879, 2.54377, 2.60779, + 1.13772, 1.60719, 1.87915, 2.00877, 2.5368, 2.60748, + 1.05382, 1.51142, 1.90444, 2.00239, 2.58485, 2.65709, + 1.02931, 1.56067, 1.91347, 1.98444, 2.61342, 2.67092, + 0.990299, 1.5203, 1.91971, 2.00599, 2.61587, 2.70596, + 0.927002, 1.48685, 1.9001, 1.97777, 2.61462, 2.69576, + 0.924166, 1.5003, 1.83727, 1.91582, 2.60179, 2.70283, + 0.901854, 1.42276, 1.89801, 1.95014, 2.57299, 2.7593, + 0.910623, 1.28648, 1.80128, 1.92579, 2.43815, 2.67129, + 0.904293, 1.22614, 1.87334, 1.94691, 2.48527, 2.64553, + 0.872654, 1.12266, 1.9125, 2.04762, 2.46806, 2.64549, + 1.13608, 1.24801, 1.7254, 2.18063, 2.49378, 2.5794, + 1.1615, 1.34697, 1.80404, 2.15702, 2.55031, 2.63316, + 1.28729, 1.66372, 2.04419, 2.32192, 2.59928, 2.68713, + 1.4568, 1.75827, 2.05527, 2.31065, 2.54931, 2.66007, + 1.41695, 1.74137, 2.10419, 2.35776, 2.59176, 2.67954, + 1.37953, 1.75252, 2.17341, 2.36107, 2.6175, 2.69932, + 1.361, 1.76202, 2.11571, 2.33066, 2.562, 2.65039, + 1.34078, 1.68536, 2.02489, 2.28195, 2.54742, 2.63946, + 1.27817, 1.68614, 1.96141, 2.16547, 2.55417, 2.64787, + 1.29452, 1.54762, 1.98197, 2.18343, 2.54751, 2.63723, + 1.20162, 1.34364, 2.00786, 2.08943, 2.53568, 2.66074, + 1.202, 1.33211, 1.94915, 2.05181, 2.5532, 2.66547, + 1.18035, 1.35425, 1.89052, 2.06991, 2.51523, 2.62012, + 1.12873, 1.41976, 1.85478, 2.05663, 2.4807, 2.58354, + 1.13319, 1.40234, 1.82266, 2.01361, 2.53991, 2.63944, + 1.14927, 1.37693, 1.82119, 1.91493, 2.56242, 2.66404, + 1.08087, 1.40844, 1.78802, 1.87993, 2.51751, 2.65668, + 1.15244, 1.5096, 1.82234, 1.93981, 2.52894, 2.61915, + 1.22726, 1.54378, 1.93541, 2.01768, 2.57551, 2.66563, + 1.25365, 1.48594, 1.94554, 1.98737, 2.53919, 2.71509, + 1.2245, 1.52134, 1.98216, 2.04494, 2.52268, 2.68745, + 1.25872, 1.47612, 1.98186, 2.0731, 2.53617, 2.63409, + 1.25558, 1.47113, 1.98394, 2.05256, 2.54104, 2.70865, + 1.22142, 1.55673, 2.01332, 2.08977, 2.5386, 2.7065, + 1.17848, 1.47465, 2.00764, 2.12209, 2.56026, 2.62943, + 1.13664, 1.45929, 2.03373, 2.10043, 2.5447, 2.68913, + 1.0352, 1.46256, 2.02497, 2.19409, 2.5306, 2.66221, + 1.09088, 1.52242, 2.03844, 2.12942, 2.58762, 2.68739, + 1.05454, 1.53834, 2.00059, 2.08401, 2.51651, 2.64433, + 1.06957, 1.47115, 1.97701, 2.10266, 2.54822, 2.64566, + 1.08464, 1.23507, 1.99903, 2.09101, 2.40519, 2.62241, + 1.07391, 1.18049, 1.96138, 2.10188, 2.2553, 2.5318, + 1.18554, 1.32028, 2.00675, 2.09885, 2.44308, 2.58297, + 1.25681, 1.41999, 1.98353, 2.13096, 2.47042, 2.55869, + 1.29074, 1.39192, 1.99538, 2.10656, 2.35166, 2.48517, + 1.42857, 1.7483, 2.04481, 2.27757, 2.51309, 2.62525, + 1.49577, 1.68666, 2.13566, 2.29223, 2.49901, 2.6165, + 1.48246, 1.63201, 2.08388, 2.29724, 2.48855, 2.60533, + 1.53884, 1.63087, 2.11175, 2.22311, 2.57684, 2.69324, + 1.55163, 1.62855, 2.0406, 2.158, 2.59018, 2.71351, + 1.57001, 1.63772, 1.9581, 2.12426, 2.57018, 2.69279, + 1.53459, 1.60799, 1.80164, 2.08727, 2.3927, 2.60093, + 1.50278, 1.60763, 1.8438, 2.08234, 2.32328, 2.52239, + 1.5157, 1.61344, 1.83784, 2.02724, 2.40291, 2.60224, + 1.51003, 1.60758, 1.82642, 1.95546, 2.34057, 2.67962, + 1.44583, 1.56664, 1.75642, 1.86971, 2.29615, 2.60165, + 1.41071, 1.48852, 1.82002, 1.91044, 2.35823, 2.61465, + 1.30157, 1.42828, 1.81243, 1.90258, 2.29336, 2.72528, + 1.10681, 1.35151, 1.88873, 1.95633, 2.32044, 2.64689, + 1.05626, 1.36692, 1.86662, 1.96895, 2.42146, 2.65352, + 1.14875, 1.36805, 1.80964, 2.06411, 2.43779, 2.6041, + 0.99027, 1.45316, 1.88728, 2.03517, 2.29694, 2.6003, + 0.943695, 1.20427, 1.748, 1.88645, 2.18161, 2.5098, + 1.05705, 1.2214, 1.83597, 1.97244, 2.15495, 2.49297, + 0.936404, 1.22552, 1.89505, 1.99806, 2.53953, 2.64493, + 0.941516, 1.22449, 1.96641, 2.05527, 2.51509, 2.60908, + 1.00024, 1.31497, 1.942, 2.05192, 2.53588, 2.63478, + 1.03139, 1.4074, 1.95347, 2.04544, 2.55082, 2.63437, + 1.11887, 1.44195, 1.95252, 2.062, 2.49434, 2.60804, + 1.1971, 1.55316, 1.88765, 2.00919, 2.4721, 2.55066, + 1.2938, 1.58834, 1.86838, 2.04592, 2.4811, 2.56611, + 1.35377, 1.61065, 1.89762, 2.08348, 2.40829, 2.5434, + 1.40368, 1.522, 1.89167, 2.05414, 2.35729, 2.51225, + 1.3704, 1.44625, 1.87133, 1.99814, 2.33668, 2.57069, + 1.49939, 1.75525, 2.09033, 2.28295, 2.48403, 2.57439, + 1.56771, 1.84261, 2.13662, 2.27873, 2.47712, 2.57607, + 1.59155, 1.76754, 2.16941, 2.30293, 2.52513, 2.6375, + 1.45827, 1.79974, 2.22722, 2.3975, 2.61653, 2.70557, + 1.49671, 1.84604, 2.2799, 2.43719, 2.64967, 2.72662, + 1.50276, 1.73132, 2.26873, 2.46421, 2.62362, 2.70674, + 1.4973, 1.61793, 2.15658, 2.38626, 2.57903, 2.66472, + 1.37998, 1.53869, 1.85063, 2.10952, 2.41066, 2.58615, + 1.40587, 1.49793, 1.7417, 1.93228, 2.33718, 2.56385, + 1.34617, 1.43104, 1.65743, 1.88442, 2.37395, 2.58735, + 1.30791, 1.40637, 1.73414, 1.87583, 2.46072, 2.60209, + 1.27394, 1.57115, 1.77128, 1.91225, 2.53645, 2.59561, + 1.20006, 1.57518, 1.77085, 1.87763, 2.50802, 2.57915, + 1.12581, 1.53942, 1.72263, 1.85997, 2.51165, 2.57463, + 1.0649, 1.48451, 1.69086, 1.83275, 2.51958, 2.58928, + 1.04287, 1.48323, 1.62712, 1.86708, 2.49587, 2.55026, + 0.95091, 1.47482, 1.57611, 1.83009, 2.51944, 2.56991, + 1.00452, 1.42303, 1.55012, 1.83522, 2.4736, 2.54437, + 1.02641, 1.36569, 1.51066, 1.87911, 2.46718, 2.54387, + 0.978321, 1.33849, 1.52802, 1.91388, 2.46507, 2.52472, + 0.922555, 1.40958, 1.52026, 1.93266, 2.40471, 2.47222, + 1.00902, 1.34503, 1.51873, 1.99953, 2.46306, 2.54494, + 0.989351, 1.43316, 1.57387, 2.01544, 2.4012, 2.49098, + 1.03533, 1.55632, 1.67731, 2.08678, 2.48152, 2.56795, + 1.00412, 1.57529, 1.79639, 2.07552, 2.40291, 2.57424, + 1.03735, 1.68182, 1.94311, 2.06542, 2.47889, 2.5989, + 1.00585, 1.68475, 1.97239, 2.10931, 2.56505, 2.62351, + 0.954873, 1.71979, 2.00619, 2.11235, 2.59863, 2.68278, + 0.937994, 1.72832, 1.99376, 2.10525, 2.63205, 2.70071, + 0.889626, 1.70953, 2.00129, 2.09009, 2.62054, 2.7098, + 0.912128, 1.65762, 1.96678, 2.05864, 2.62643, 2.70292, + 0.972006, 1.56912, 1.98595, 2.13024, 2.56915, 2.67726, + 1.03879, 1.65117, 2.00829, 2.11811, 2.59919, 2.70129, + 1.1022, 1.62499, 1.99876, 2.12503, 2.56976, 2.64664, + 1.18774, 1.63937, 2.05924, 2.1473, 2.47586, 2.63496, + 1.2741, 1.59067, 2.01675, 2.09963, 2.54872, 2.66899, + 1.3734, 1.63001, 1.98149, 2.07093, 2.50595, 2.68933, + 1.51121, 1.60261, 1.91134, 2.0229, 2.47594, 2.64575, + 1.55308, 1.6394, 1.8704, 1.97561, 2.47343, 2.62657, + 1.63342, 1.77332, 1.87513, 1.95948, 2.41315, 2.62591, + 1.59672, 1.74731, 1.87805, 2.04902, 2.58749, 2.66928, + 1.66467, 1.93335, 2.15604, 2.28003, 2.46274, 2.57155, + 1.55119, 1.6958, 2.0471, 2.23698, 2.44759, 2.57084, + 1.6483, 1.72807, 2.06079, 2.27374, 2.47514, 2.6312, + 1.63355, 1.75757, 2.08928, 2.24098, 2.43612, 2.55685, + 1.60864, 1.68471, 2.12375, 2.25657, 2.4865, 2.59823, + 1.65318, 1.71454, 2.10535, 2.20323, 2.50932, 2.64178, + 1.54105, 1.67996, 2.10427, 2.24726, 2.54038, 2.62672, + 1.55966, 1.65964, 2.10138, 2.21367, 2.47324, 2.563, + 1.60881, 1.67178, 2.07143, 2.18483, 2.49328, 2.63946, + 1.53888, 1.61019, 2.08308, 2.17154, 2.55439, 2.65099, + 1.51102, 1.59546, 2.03164, 2.13009, 2.5876, 2.6604, + 1.34069, 1.58784, 1.931, 2.11712, 2.59986, 2.67657, + 1.48468, 1.53325, 2.02449, 2.11315, 2.54832, 2.65995, + 1.53434, 1.60831, 2.03154, 2.136, 2.5371, 2.61772, + 1.57158, 1.61831, 2.05673, 2.13975, 2.52541, 2.62221, + 1.56447, 1.63127, 2.06059, 2.16604, 2.47, 2.63566, + 1.53365, 1.66351, 2.09396, 2.19079, 2.40674, 2.62275, + 1.57012, 1.63104, 2.04937, 2.16517, 2.39357, 2.5885, + 1.55247, 1.63452, 2.00848, 2.09888, 2.5092, 2.66932, + 1.49854, 1.60281, 2.00888, 2.09973, 2.52514, 2.65917, + 1.45092, 1.66054, 1.99176, 2.1033, 2.54407, 2.69647, + 1.4476, 1.5691, 1.99305, 2.07976, 2.58771, 2.67639, + 1.39457, 1.5447, 2.00666, 2.07897, 2.57902, 2.72188, + 1.34792, 1.50775, 1.99379, 2.07733, 2.51023, 2.68268, + 1.26519, 1.35538, 1.87785, 2.06383, 2.4258, 2.6578, + 1.2663, 1.37693, 2.00888, 2.27501, 2.47904, 2.63616, + 1.41473, 1.68062, 2.0574, 2.33275, 2.54997, 2.65245, + 1.49988, 1.70879, 2.05474, 2.31358, 2.52103, 2.61391, + 1.44568, 1.74177, 2.12639, 2.33881, 2.49512, 2.59797, + 1.4592, 1.79234, 2.11349, 2.34607, 2.5637, 2.66497, + 1.41684, 1.64439, 2.13147, 2.32291, 2.5788, 2.67716, + 1.44797, 1.70822, 2.14489, 2.27258, 2.59321, 2.70087, + 1.47461, 1.74298, 2.06694, 2.34163, 2.60175, 2.68525, + 1.34672, 1.65394, 1.99915, 2.21854, 2.63336, 2.7236, + 1.37521, 1.55141, 2.05268, 2.23201, 2.58684, 2.69703, + 1.26095, 1.50175, 1.9252, 2.03394, 2.54669, 2.65203, + 1.25934, 1.50019, 1.90965, 1.98291, 2.54588, 2.63867, + 1.25284, 1.56384, 1.91059, 1.97368, 2.57931, 2.66428, + 1.263, 1.54633, 1.87808, 2.03115, 2.58347, 2.65379, + 1.2652, 1.52127, 1.90571, 1.96739, 2.58143, 2.65872, + 1.3077, 1.54772, 1.88142, 1.96204, 2.57347, 2.65883, + 1.29134, 1.57501, 1.91524, 1.98556, 2.60208, 2.6977, + 1.29543, 1.62646, 1.9233, 2.02372, 2.59129, 2.68014, + 1.30121, 1.62408, 1.87893, 1.99808, 2.5601, 2.63451, + 1.30581, 1.62092, 1.88803, 1.98904, 2.60623, 2.66943, + 1.30809, 1.64233, 1.88596, 2.01357, 2.61191, 2.69665, + 1.3121, 1.62786, 1.86184, 1.9741, 2.60262, 2.65849, + 1.2929, 1.60573, 1.87713, 1.97339, 2.59964, 2.68284, + 1.27314, 1.59174, 1.87042, 1.94745, 2.60233, 2.67415, + 1.28358, 1.62082, 1.84727, 1.92803, 2.59005, 2.63688, + 1.2462, 1.56007, 1.85162, 1.95453, 2.58753, 2.67354, + 1.26039, 1.53964, 1.83162, 1.92843, 2.55229, 2.62963, + 1.26122, 1.50523, 1.85731, 1.93391, 2.569, 2.69631, + 1.28311, 1.71986, 1.8239, 1.97603, 2.56544, 2.62875, + 1.31439, 1.61774, 1.80406, 1.96054, 2.59681, 2.68674, + 1.3387, 1.63728, 1.89693, 2.00913, 2.52347, 2.63738, + 1.33648, 1.57703, 1.85003, 1.94324, 2.52134, 2.59683, + 1.39891, 1.54928, 1.72446, 1.86193, 2.16679, 2.46633, + 1.40689, 1.49743, 1.80504, 1.90912, 2.28428, 2.54258, + 1.47485, 1.57937, 1.97076, 2.0797, 2.37143, 2.54262, + 1.45231, 1.5394, 2.07666, 2.138, 2.44297, 2.64951, + 1.45062, 1.50661, 2.03639, 2.13145, 2.48483, 2.67472, + 1.4348, 1.58308, 2.02767, 2.13681, 2.42911, 2.57834, + 1.08757, 1.36721, 1.7863, 2.02503, 2.29808, 2.51567, + 0.992092, 1.43643, 1.72551, 1.96511, 2.42572, 2.54902, + 0.969474, 1.49732, 1.73009, 2.01605, 2.41437, 2.63332, + 0.936277, 1.41301, 1.68361, 2.02977, 2.4431, 2.55283, + 1.17635, 1.55964, 1.74877, 2.06189, 2.31148, 2.43469, + 1.06711, 1.40664, 1.64389, 1.97881, 2.37473, 2.54784, + 0.989262, 1.33311, 1.47509, 1.72865, 2.49202, 2.55347, + 0.957471, 1.30854, 1.42456, 1.82347, 2.49022, 2.55232, + 1.03577, 1.25449, 1.35208, 1.78625, 2.53949, 2.58578, + 1.02368, 1.23242, 1.39848, 1.87577, 2.45168, 2.54025, + 1.03725, 1.24729, 1.38742, 2.00855, 2.41927, 2.49611, + 1.04592, 1.23169, 1.36195, 1.88761, 2.38445, 2.4715, + 1.00098, 1.25084, 1.37666, 1.76767, 2.39805, 2.48444, + 1.06177, 1.21461, 1.41076, 1.72825, 2.42398, 2.51427, + 1.16823, 1.29119, 1.59751, 1.90001, 2.41542, 2.55501, + 1.15079, 1.41286, 1.82595, 1.95326, 2.40005, 2.53532, + 1.16692, 1.51763, 1.94353, 2.03425, 2.37336, 2.52147, + 1.18318, 1.52316, 1.99531, 2.11989, 2.43346, 2.59116, + 1.15948, 1.52173, 2.07237, 2.17696, 2.5149, 2.66076, + 1.26032, 1.72266, 2.11677, 2.24905, 2.53412, 2.64563, + 1.45043, 1.71771, 2.04879, 2.21275, 2.49949, 2.63613, + 1.44923, 1.65312, 2.02364, 2.19689, 2.45305, 2.61252, + 1.38812, 1.59757, 1.96865, 2.16345, 2.42543, 2.57803, + 1.3476, 1.44981, 1.89414, 2.16897, 2.44647, 2.60227, + 1.39801, 1.47176, 1.92206, 2.12096, 2.39643, 2.60072, + 1.42866, 1.54131, 2.04605, 2.13251, 2.39709, 2.6431, + 1.49267, 1.58516, 2.05934, 2.1583, 2.48082, 2.64875, + 1.55899, 1.64879, 2.03751, 2.15332, 2.51238, 2.64766, + 1.5875, 1.65909, 2.0205, 2.13969, 2.53746, 2.61656, + 1.63435, 1.73936, 2.04449, 2.21819, 2.53013, 2.62274, + 1.65015, 1.73677, 2.04927, 2.14892, 2.55187, 2.65129, + 1.6407, 1.70735, 1.99133, 2.11956, 2.58759, 2.64283, + 1.65582, 1.70975, 1.94195, 2.09079, 2.57008, 2.63037, + 1.60644, 1.69562, 1.85276, 2.04784, 2.5549, 2.62809, + 1.48459, 1.65703, 1.82298, 2.00896, 2.58403, 2.65372, + 1.34838, 1.6278, 1.77907, 1.89733, 2.52187, 2.6464, + 1.15564, 1.46487, 1.7638, 1.94355, 2.55585, 2.64209, + 1.33945, 1.67633, 1.97104, 2.1868, 2.43889, 2.57107, + 1.29738, 1.61553, 1.94676, 2.15118, 2.42984, 2.55813, + 1.13646, 1.51989, 1.86723, 2.10739, 2.45273, 2.55371, + 0.943433, 1.35098, 1.71433, 1.83088, 2.38004, 2.57361, + 0.93395, 1.07858, 1.55309, 1.66234, 2.02795, 2.45315, + 0.896937, 1.24693, 1.58663, 1.68408, 2.39714, 2.61171, + 0.892078, 1.35006, 1.56008, 1.68985, 2.50628, 2.60756, + 0.772181, 1.31368, 1.52566, 1.65028, 2.46898, 2.63641, + 0.863603, 1.32858, 1.48114, 1.76889, 2.49678, 2.54657, + 0.908312, 1.25841, 1.38277, 1.69975, 2.44859, 2.54733, + 0.863083, 1.2738, 1.42241, 1.57588, 2.50992, 2.5671, + 0.798143, 1.23338, 1.32805, 1.71855, 2.54548, 2.65489, + 0.937997, 1.29721, 1.44739, 1.65945, 2.53943, 2.66437, + 1.01531, 1.28265, 1.44965, 1.65693, 2.51959, 2.59724, + 1.0126, 1.30809, 1.42876, 1.74264, 2.58138, 2.65475, + 1.07522, 1.35994, 1.46636, 1.79046, 2.58293, 2.65492, + 1.17472, 1.35459, 1.47068, 1.80811, 2.61181, 2.6906, + 1.30467, 1.38057, 1.48642, 1.86325, 2.49909, 2.64664, + 1.32925, 1.45894, 1.59974, 1.9851, 2.41224, 2.4896, + 1.32685, 1.46696, 1.65071, 1.97288, 2.17365, 2.36378, + 1.44073, 1.59786, 1.75692, 1.94212, 2.13442, 2.3309, + 1.49091, 1.61528, 1.79973, 1.98918, 2.30719, 2.53596, + 1.523, 1.67644, 1.84139, 2.08449, 2.49007, 2.6195, + 1.53645, 1.67293, 1.83434, 2.06794, 2.59485, 2.65573, + 1.58521, 1.67342, 1.87935, 2.02614, 2.60916, 2.69133, + 1.57645, 1.66211, 1.86811, 1.98727, 2.62983, 2.70249, + 1.56114, 1.62908, 1.91041, 2.00543, 2.63344, 2.72614, + 1.53121, 1.61555, 1.87364, 1.96628, 2.52259, 2.70606, + 1.47329, 1.59122, 1.90894, 1.97341, 2.53504, 2.73312, + 1.41254, 1.47364, 1.87172, 1.95732, 2.3412, 2.7407, + 1.37981, 1.47324, 1.92392, 1.98607, 2.44717, 2.65758, + 1.33369, 1.50012, 1.93353, 2.13803, 2.5018, 2.61583, + 1.40577, 1.57009, 2.02811, 2.33267, 2.57368, 2.66412, + 1.38605, 1.54675, 2.10184, 2.38012, 2.6073, 2.71246, + 1.42055, 1.66408, 2.09684, 2.28767, 2.54543, 2.64567, + 1.42992, 1.63289, 2.05645, 2.24534, 2.46973, 2.59462, + 1.45034, 1.54233, 1.93614, 2.16009, 2.38966, 2.59495, + 1.45865, 1.54584, 1.97395, 2.13284, 2.28055, 2.51911, + 1.49962, 1.62185, 1.92436, 2.08658, 2.25382, 2.39346, + 1.48012, 1.59661, 1.8229, 2.03008, 2.21246, 2.44059, + 1.38557, 1.51579, 1.76353, 2.00756, 2.20701, 2.50516, + 1.36348, 1.48371, 1.74539, 2.02083, 2.17738, 2.42842, + 1.42241, 1.52636, 1.80247, 2.04137, 2.26763, 2.50998, + 1.45178, 1.5395, 1.88862, 2.07975, 2.25853, 2.50082, + 1.46274, 1.54888, 1.92575, 2.06529, 2.3201, 2.59188, + 1.45961, 1.52679, 1.9373, 2.02975, 2.426, 2.61822, + 1.42677, 1.49596, 1.9348, 2.02868, 2.47432, 2.63994, + 1.39548, 1.4946, 1.92354, 2.00687, 2.5088, 2.6516, + 1.31532, 1.47588, 1.92587, 2.01244, 2.56254, 2.64267, + 1.21621, 1.54231, 1.86761, 1.96291, 2.57851, 2.63891, + 1.18812, 1.59211, 1.82616, 1.95676, 2.59273, 2.65931, + 1.15728, 1.51903, 1.84128, 1.93613, 2.59672, 2.66939, + 1.04273, 1.33486, 1.85281, 1.92781, 2.50926, 2.72139, + 1.07692, 1.51273, 1.89221, 1.97602, 2.37074, 2.63564, + 1.32864, 1.55521, 1.82696, 2.08002, 2.44793, 2.60775, + 1.27122, 1.38353, 1.74055, 2.04872, 2.35626, 2.56711, + 1.28876, 1.38548, 1.79387, 1.97785, 2.3904, 2.60455, + 1.32866, 1.42224, 1.80564, 2.00282, 2.28916, 2.5443, + 1.37794, 1.49365, 1.79368, 2.03187, 2.35373, 2.51891, + 1.38443, 1.45365, 1.83807, 2.00184, 2.39078, 2.63512, + 1.28946, 1.40343, 1.87102, 1.98612, 2.47998, 2.7238, + 1.20789, 1.38822, 1.86505, 2.03166, 2.45007, 2.59141, + 1.21863, 1.30931, 1.90985, 2.00378, 2.49942, 2.60498, + 1.17883, 1.2733, 1.83281, 2.02504, 2.50863, 2.65023, + 1.14748, 1.25919, 1.93016, 2.02773, 2.52207, 2.63407, + 1.10091, 1.26803, 1.85791, 1.9519, 2.50889, 2.66039, + 1.06983, 1.22567, 1.88895, 1.97434, 2.49213, 2.5921, + 1.04226, 1.18221, 1.89174, 2.03996, 2.55965, 2.67933, + 0.956414, 1.18097, 1.88146, 1.99433, 2.31647, 2.61769, + 1.06179, 1.5717, 1.92657, 2.10718, 2.40416, 2.52545, + 1.37431, 1.4759, 1.67843, 1.97242, 2.36429, 2.51653, + 1.36344, 1.45577, 1.76316, 1.9708, 2.36833, 2.58698, + 1.42304, 1.59189, 1.7982, 2.01278, 2.38811, 2.60218, + 1.52726, 1.60578, 1.90951, 2.03343, 2.40668, 2.59346, + 1.58513, 1.66451, 1.91801, 2.02654, 2.42573, 2.60092, + 1.61189, 1.72856, 1.90767, 2.03404, 2.39568, 2.64177, + 1.46301, 1.62466, 1.87229, 1.99824, 2.48782, 2.66247, + 1.50707, 1.59791, 1.89375, 1.99701, 2.53598, 2.67246, + 1.5024, 1.61803, 1.88856, 2.02416, 2.58185, 2.65654, + 1.55312, 1.63948, 1.91892, 2.03428, 2.57686, 2.65568, + 1.57736, 1.64826, 1.95809, 2.05341, 2.56789, 2.65652, + 1.59537, 1.65463, 1.99777, 2.09975, 2.53164, 2.67521, + 1.62164, 1.70401, 1.95775, 2.07464, 2.58431, 2.66051, + 1.61843, 1.71139, 1.95479, 2.06745, 2.53377, 2.69523, + 1.61785, 1.71631, 1.94968, 2.10336, 2.63594, 2.68689, + 1.64932, 1.74631, 1.90161, 2.06435, 2.60677, 2.69024, + 1.63506, 1.7696, 1.90462, 2.0191, 2.6076, 2.71333, + 1.64557, 1.7795, 1.86895, 1.96533, 2.59215, 2.7149, + 1.68657, 1.7575, 1.85807, 1.92204, 2.50527, 2.69889, + 1.61272, 1.70323, 1.83105, 1.9259, 2.37381, 2.61368, + 1.24435, 1.40956, 1.71346, 1.9677, 2.35146, 2.53736, + 1.26999, 1.3873, 1.64097, 1.99183, 2.32491, 2.50177, + 1.30535, 1.45577, 1.78878, 2.09123, 2.48724, 2.61473, + 1.41386, 1.51881, 1.88852, 2.25227, 2.44809, 2.59472, + 1.40942, 1.59146, 1.94472, 2.19692, 2.51839, 2.63823, + 1.39914, 1.70331, 1.96615, 2.22486, 2.61691, 2.73408, + 1.37531, 1.63638, 2.06176, 2.29242, 2.58662, 2.70574, + 1.39467, 1.73342, 2.0736, 2.29715, 2.57382, 2.67289, + 1.36608, 1.73861, 2.01663, 2.28566, 2.60549, 2.69352, + 1.36062, 1.60169, 1.96797, 2.19484, 2.56485, 2.65792, + 1.3547, 1.47154, 1.99017, 2.16544, 2.569, 2.67912, + 1.31937, 1.40392, 2.03022, 2.11501, 2.4527, 2.63591, + 1.30326, 1.37473, 1.97504, 2.11117, 2.36982, 2.66061, + 1.32579, 1.43105, 2.03617, 2.11394, 2.476, 2.68507, + 1.30748, 1.51036, 2.1177, 2.17917, 2.55458, 2.69578, + 1.31143, 1.54831, 2.12835, 2.27973, 2.5517, 2.6455, + 1.29377, 1.44223, 2.11556, 2.28956, 2.4159, 2.53121, + 1.27867, 1.69711, 2.0925, 2.19954, 2.36852, 2.56114, + 1.29264, 1.86793, 2.12883, 2.20633, 2.45084, 2.55178, + 1.23486, 1.63107, 2.1437, 2.30446, 2.49101, 2.56573, + 1.21995, 1.36757, 2.1498, 2.21849, 2.49521, 2.6353, + 1.2089, 1.48484, 2.1803, 2.27669, 2.52633, 2.62673, + 1.16526, 1.45824, 2.15559, 2.22728, 2.49018, 2.5968, + 1.11619, 1.49218, 2.17727, 2.2419, 2.53233, 2.62053, + 1.0969, 1.52492, 2.09349, 2.34525, 2.48036, 2.61116, + 1.04378, 1.36903, 2.22928, 2.30665, 2.52743, 2.61303, + 1.08072, 1.33613, 2.13554, 2.24061, 2.46344, 2.63428, + 1.12626, 1.50254, 2.06533, 2.27483, 2.51283, 2.58825, + 1.19913, 1.448, 2.04058, 2.21686, 2.44913, 2.5443, + 1.2443, 1.54083, 2.03653, 2.17483, 2.47027, 2.58034, + 1.27719, 1.57406, 2.06637, 2.15037, 2.50854, 2.61173, + 1.34175, 1.57688, 2.03148, 2.12065, 2.49616, 2.57534, + 1.33544, 1.5416, 1.99434, 2.1088, 2.51884, 2.62295, + 1.35172, 1.54371, 2.00331, 2.07535, 2.57916, 2.65663, + 1.3593, 1.47053, 1.96846, 2.04232, 2.56515, 2.66484, + 1.3682, 1.43322, 1.98377, 2.04495, 2.4386, 2.6706, + 1.35118, 1.42613, 1.99129, 2.08773, 2.43075, 2.61637, + 1.34987, 1.4833, 2.00027, 2.24283, 2.53591, 2.62905, + 1.32206, 1.59678, 2.11312, 2.40815, 2.54898, 2.62526, + 1.38129, 1.64876, 2.19246, 2.37836, 2.57952, 2.6545, + 1.37213, 1.54266, 2.06255, 2.30731, 2.47559, 2.58062, + 1.36357, 1.46348, 1.86476, 2.28846, 2.4678, 2.57169, + 1.33579, 1.5363, 1.88616, 2.22187, 2.54338, 2.67053, + 1.25976, 1.39335, 1.60476, 1.93429, 2.43051, 2.5096, + 1.22472, 1.34965, 1.48194, 1.83683, 2.38496, 2.46313, + 1.25366, 1.36921, 1.50551, 1.99434, 2.36606, 2.45456, + 1.25045, 1.37222, 1.56344, 2.13328, 2.39153, 2.46111, + 1.29898, 1.41253, 1.56, 2.16285, 2.47558, 2.55147, + 1.3087, 1.48723, 1.61657, 2.14089, 2.42252, 2.52784, + 1.36226, 1.50974, 1.69114, 2.15185, 2.42506, 2.50401, + 1.41519, 1.57382, 1.72634, 2.14569, 2.42361, 2.51895, + 1.4683, 1.62457, 1.768, 2.10708, 2.43369, 2.50188, + 1.47421, 1.64517, 1.82938, 2.15047, 2.33054, 2.45413, + 1.48873, 1.66222, 1.85318, 2.16043, 2.39072, 2.50747, + 1.51537, 1.6851, 1.8209, 2.09082, 2.47713, 2.54132, + 1.53394, 1.68102, 1.91115, 2.10105, 2.43121, 2.50742, + 1.54702, 1.76275, 1.90532, 2.0573, 2.36997, 2.49646, + 1.52475, 1.7075, 1.88085, 2.14514, 2.33129, 2.4433, + 1.53267, 1.68946, 1.83844, 2.06671, 2.35207, 2.48759, + 1.44908, 1.63991, 1.78652, 2.04704, 2.32879, 2.42622, + 1.39341, 1.607, 1.75213, 2.06596, 2.381, 2.47377, + 1.23492, 1.62038, 1.75171, 2.07935, 2.40097, 2.47182, + 1.12865, 1.58919, 1.72598, 2.09781, 2.42178, 2.50718, + 1.20512, 1.49111, 1.70703, 2.14313, 2.40768, 2.4896, + 1.10599, 1.52409, 1.74026, 2.14252, 2.42276, 2.53271, + 1.14687, 1.42809, 1.69879, 2.10033, 2.42333, 2.5455, + 1.11601, 1.3519, 1.75431, 2.14602, 2.4117, 2.52754, + 1.17851, 1.30684, 1.82411, 2.27204, 2.45289, 2.54631, + 1.38605, 1.68653, 2.01082, 2.14869, 2.4392, 2.57093, + 1.33438, 1.67405, 1.96249, 2.10873, 2.40392, 2.5875, + 1.30954, 1.51943, 2.0306, 2.11973, 2.43608, 2.6208, + 1.19962, 1.42519, 2.03789, 2.16133, 2.49331, 2.63953, + 0.913804, 1.25173, 2.05508, 2.17687, 2.41685, 2.64493, + 0.822137, 1.06733, 2.01912, 2.21659, 2.39556, 2.65819, + 0.859923, 0.985874, 1.90428, 2.16059, 2.43371, 2.63982, + 0.906761, 1.14062, 2.0105, 2.14624, 2.46964, 2.64413, + 0.950845, 1.25396, 2.03953, 2.0959, 2.60028, 2.71109, + 0.953879, 1.24532, 1.98547, 2.13315, 2.54365, 2.613, + 1.03167, 1.28659, 1.97462, 2.03713, 2.54102, 2.69028, + 1.0516, 1.37316, 1.90525, 2.00964, 2.49555, 2.67405, + 1.08826, 1.2974, 1.89869, 2.01858, 2.50884, 2.69051, + 1.1467, 1.28227, 1.93071, 2.01015, 2.43941, 2.64701, + 1.1572, 1.34385, 1.93082, 2.02912, 2.36815, 2.598, + 1.24735, 1.43274, 1.94259, 2.06745, 2.39283, 2.5543, + 1.29762, 1.51602, 1.99339, 2.07927, 2.43946, 2.54827, + 1.38625, 1.4836, 1.96585, 2.07161, 2.44479, 2.59437, + 1.42969, 1.49987, 1.88063, 2.07411, 2.3462, 2.60425, + 1.56913, 1.64448, 1.94276, 2.0452, 2.37069, 2.58937, + 1.69636, 1.74562, 1.98094, 2.09366, 2.43348, 2.58367, + 1.69484, 1.80115, 1.96103, 2.06832, 2.45264, 2.63829, + 1.61979, 1.78559, 1.91963, 2.05582, 2.23816, 2.49876, + 1.22369, 1.62122, 1.79172, 1.89869, 2.16167, 2.49995, + 1.14441, 1.45291, 1.78089, 1.86674, 2.21421, 2.49427, + 1.13554, 1.49512, 1.82078, 1.89436, 2.11501, 2.44158, + 1.13138, 1.53582, 1.73732, 1.84242, 2.02164, 2.42595, + 1.21265, 1.31217, 1.75291, 1.88932, 2.10891, 2.4697, + 1.25395, 1.35241, 1.65265, 1.96095, 2.39444, 2.56868, + 1.36268, 1.58079, 1.91332, 2.21262, 2.3816, 2.52899, + 1.41733, 1.58205, 1.97763, 2.23799, 2.41308, 2.58029, + 1.38316, 1.60355, 2.01614, 2.21013, 2.44905, 2.58723, + 1.44211, 1.54421, 1.93895, 2.14188, 2.495, 2.59016, + 1.38173, 1.57916, 1.982, 2.13878, 2.48578, 2.62057, + 1.36159, 1.59781, 1.96493, 2.13812, 2.54261, 2.62247, + 1.36066, 1.61469, 2.01078, 2.1615, 2.46045, 2.5839, + 1.39009, 1.62865, 1.96383, 2.13056, 2.47773, 2.61338, + 1.34617, 1.6485, 2.08237, 2.32171, 2.55595, 2.64942, + 1.44042, 1.74244, 2.00765, 2.20824, 2.45099, 2.57791, + 1.44483, 1.69506, 2.02687, 2.21048, 2.41403, 2.53277, + 1.34554, 1.58917, 1.95542, 2.12931, 2.40989, 2.54316, + 1.40004, 1.48192, 1.94707, 2.11026, 2.31316, 2.53117, + 1.38478, 1.48479, 1.98387, 2.10714, 2.36009, 2.58548, + 1.42919, 1.51494, 2.01966, 2.13766, 2.32955, 2.58529, + 1.45055, 1.51832, 2.01003, 2.1028, 2.40169, 2.60328, + 1.44136, 1.52541, 1.96497, 2.07672, 2.37601, 2.59481, + 1.46479, 1.52155, 1.96899, 2.07787, 2.44496, 2.62108, + 1.4867, 1.57368, 2.00184, 2.10852, 2.43377, 2.62616, + 1.47103, 1.5436, 1.99166, 2.11171, 2.47331, 2.64546, + 1.41527, 1.52449, 2.0127, 2.09575, 2.45882, 2.64202, + 1.40751, 1.50149, 2.05031, 2.1562, 2.48019, 2.62327, + 1.37612, 1.45958, 2.00994, 2.16941, 2.4802, 2.64269, + 1.34595, 1.47288, 2.07312, 2.18486, 2.48613, 2.61036, + 1.30637, 1.43838, 2.0905, 2.21314, 2.5542, 2.68395, + 1.21926, 1.42304, 2.09092, 2.17049, 2.55962, 2.66821, + 1.18047, 1.40808, 1.93517, 2.08818, 2.54813, 2.63944, + 1.20954, 1.52893, 1.88727, 1.96188, 2.48344, 2.64934, + 1.21992, 1.52138, 1.93918, 1.98802, 2.46003, 2.67348, + 1.19875, 1.4741, 1.85911, 1.98104, 2.39535, 2.7192, + 1.11841, 1.50485, 1.89794, 2.00238, 2.24287, 2.59852, + 1.01853, 1.45989, 1.74659, 2.05195, 2.32486, 2.45885, + 0.86699, 1.38778, 1.6541, 1.79974, 2.32579, 2.40738, + 0.862252, 1.36583, 1.70576, 1.80225, 2.41635, 2.49385, + 0.928394, 1.54645, 1.71668, 1.87707, 2.37972, 2.52459, + 1.08335, 1.48734, 1.80115, 2.00569, 2.32174, 2.55873, + 1.05743, 1.3398, 1.83442, 1.9346, 2.27962, 2.5307, + 0.954787, 1.141, 1.79287, 1.8918, 2.34291, 2.49204, + 0.996853, 1.13004, 1.79215, 1.89541, 2.23624, 2.40335, + 0.920268, 1.06949, 1.87486, 2.07209, 2.33523, 2.48657, + 0.954214, 1.08107, 1.82732, 2.07915, 2.23882, 2.50812, + 0.894487, 1.01384, 1.71654, 2.01845, 2.17535, 2.48224, + 0.842005, 0.979634, 1.64453, 1.9459, 2.27102, 2.43863, + 0.95571, 1.09, 1.75405, 1.96707, 2.12784, 2.44888, + 0.954385, 1.09447, 1.72755, 2.00558, 2.26657, 2.5144, + 1.02562, 1.1376, 1.78753, 2.00208, 2.3369, 2.51184, + 1.01381, 1.1751, 1.88194, 2.01664, 2.34586, 2.44572, + 1.08267, 1.2273, 1.92324, 2.02278, 2.40238, 2.52097, + 1.11811, 1.22414, 1.82445, 1.96175, 2.24583, 2.51583, + 1.14645, 1.29899, 1.87293, 1.99547, 2.37173, 2.5269, + 1.18855, 1.31065, 1.90221, 1.99678, 2.29037, 2.52054, + 1.30992, 1.41653, 1.87845, 2.05009, 2.22418, 2.38779, + 1.39476, 1.50627, 1.93489, 2.05682, 2.27119, 2.45334, + 1.37793, 1.57264, 1.9907, 2.08357, 2.38159, 2.60652, + 1.44402, 1.6893, 1.99746, 2.15321, 2.36113, 2.5077, + 1.51504, 1.64277, 1.92909, 2.15934, 2.33551, 2.49784, + 1.54008, 1.70831, 1.88382, 2.09498, 2.39862, 2.5701, + 1.60091, 1.69851, 1.88148, 2.08517, 2.45101, 2.65374, + 1.50263, 1.75606, 2.04072, 2.1634, 2.37617, 2.54867, + 1.53211, 1.85534, 1.99384, 2.13955, 2.30249, 2.43099, + 1.48486, 1.82205, 1.9643, 2.13596, 2.33702, 2.47234, + 1.53669, 1.76692, 1.95125, 2.09052, 2.32417, 2.52921, + 1.58228, 1.72385, 1.91207, 2.06937, 2.30294, 2.4739, + 1.49971, 1.59329, 1.9127, 2.0341, 2.36655, 2.55379, + 1.4342, 1.54071, 1.86757, 1.98917, 2.32371, 2.5394, + 1.1891, 1.50082, 1.76342, 1.9762, 2.13728, 2.44118, + 1.16592, 1.47018, 1.773, 1.9271, 2.08801, 2.3043, + 1.25015, 1.60042, 1.81807, 1.92211, 2.08025, 2.24181, + 1.12269, 1.6288, 1.81441, 1.93295, 2.0993, 2.41867, + 1.01962, 1.51066, 1.85073, 1.99562, 2.1302, 2.45706, + 0.958176, 1.63968, 1.84043, 1.95653, 2.10428, 2.27903, + 1.01054, 1.53751, 1.77222, 1.93052, 2.10162, 2.24851, + 0.904371, 1.50502, 1.66433, 1.82788, 2.27803, 2.34842, + 1.06773, 1.45454, 1.68686, 1.80346, 2.38437, 2.49979, + 1.26287, 1.516, 1.88275, 1.97556, 2.35357, 2.51973, + 1.56064, 1.69896, 1.92154, 2.00006, 2.54029, 2.60523, + 1.66562, 1.74409, 1.99592, 2.104, 2.53894, 2.62016, + 1.61517, 1.7485, 2.02411, 2.12606, 2.40816, 2.61413, + 1.67803, 1.75295, 2.0279, 2.14656, 2.38237, 2.56851, + 1.58035, 1.68027, 1.99741, 2.12246, 2.45985, 2.58783, + 1.59008, 1.69205, 1.93478, 2.09576, 2.55298, 2.62588, + 1.539, 1.62024, 1.92077, 2.0316, 2.48167, 2.59269, + 1.4088, 1.51179, 1.74425, 1.89659, 2.41202, 2.51558, + 1.32056, 1.48799, 1.75496, 1.89691, 2.43716, 2.56318, + 1.17487, 1.52485, 1.70818, 1.96295, 2.51378, 2.58101, + 1.28764, 1.55957, 1.90308, 2.10518, 2.45098, 2.59946, + 1.22403, 1.508, 1.92279, 2.07637, 2.37291, 2.58121, + 1.16322, 1.44496, 1.73467, 2.02018, 2.32215, 2.54157, + 1.21226, 1.448, 1.63849, 2.03192, 2.22935, 2.39947, + 1.10889, 1.28333, 1.48115, 1.90707, 2.10001, 2.29348, + 1.15522, 1.29037, 1.47672, 1.68807, 2.08922, 2.18177, + 1.17147, 1.29039, 1.55651, 1.82599, 2.01814, 2.24349, + 1.14989, 1.28265, 1.6019, 1.7453, 2.11078, 2.40906, + 1.22391, 1.36072, 1.65007, 1.79294, 2.2651, 2.37093, + 1.25437, 1.40454, 1.70667, 1.85465, 2.27647, 2.39469, + 1.22583, 1.44211, 1.76613, 1.92412, 2.2924, 2.39468, + 1.21114, 1.46189, 1.80455, 1.92702, 2.36199, 2.45328, + 1.21864, 1.40578, 1.80953, 1.9142, 2.31845, 2.52005, + 1.22294, 1.39467, 1.84011, 1.9324, 2.39167, 2.50319, + 1.2069, 1.37287, 1.84295, 1.9438, 2.42446, 2.57876, + 1.24631, 1.42383, 1.86621, 1.96241, 2.43605, 2.59566, + 1.27092, 1.4559, 1.88805, 1.97634, 2.46928, 2.58281, + 1.19826, 1.32394, 1.88024, 1.94941, 2.47166, 2.6448, + 1.17432, 1.2932, 1.76561, 2.01928, 2.28224, 2.57624, + 1.14173, 1.38319, 1.88283, 2.12653, 2.45304, 2.61119, + 1.48334, 1.65073, 2.04359, 2.1938, 2.51727, 2.62292, + 1.44607, 1.6219, 1.99961, 2.10353, 2.49348, 2.58192, + 1.41467, 1.63024, 1.94568, 2.06177, 2.50065, 2.58895, + 1.43843, 1.61559, 1.90335, 2.01303, 2.42611, 2.61364, + 1.55667, 1.62312, 1.87546, 1.97231, 2.36669, 2.62922, + 1.4665, 1.63832, 1.79658, 1.95927, 2.45762, 2.60323, + 1.30828, 1.48139, 1.73054, 1.97927, 2.33226, 2.53809, + 1.30165, 1.41374, 1.67444, 1.93338, 2.14349, 2.50814, + 1.31891, 1.41656, 1.75164, 1.91344, 2.29409, 2.55512, + 1.32451, 1.42562, 1.84492, 1.94741, 2.37538, 2.59737, + 1.267, 1.35973, 1.84915, 1.95084, 2.37072, 2.5793, + 1.1627, 1.34431, 1.90693, 1.98657, 2.47058, 2.58342, + 1.116, 1.36583, 1.94803, 2.04008, 2.46113, 2.5836, + 1.0618, 1.35029, 2.00628, 2.08046, 2.45163, 2.52696, + 1.02433, 1.23357, 1.98941, 2.08505, 2.38718, 2.49582, + 0.962287, 1.21924, 1.967, 2.08919, 2.42466, 2.59986, + 0.881533, 1.35683, 2.04743, 2.15539, 2.40907, 2.50875, + 0.85601, 1.21772, 2.00853, 2.11153, 2.42481, 2.53774, + 0.774065, 0.965055, 1.87414, 2.03588, 2.25102, 2.52797, + 0.820344, 0.990331, 1.96096, 2.24212, 2.34955, 2.53547, + 0.846158, 1.06289, 1.97251, 2.16915, 2.35316, 2.55609, + 0.748812, 1.06344, 1.94995, 2.06685, 2.36451, 2.602, + 0.855725, 1.15838, 2.00842, 2.14414, 2.3285, 2.60048, + 0.862076, 1.18823, 1.90646, 2.19135, 2.36851, 2.54264, + 0.814218, 1.19401, 2.0864, 2.15686, 2.48295, 2.57478, + 0.811087, 1.32095, 2.03826, 2.11283, 2.50888, 2.59894, + 0.967874, 1.19172, 2.04932, 2.14652, 2.42267, 2.56678, + 1.00803, 1.2342, 2.04091, 2.12104, 2.48015, 2.60909, + 1.11818, 1.31227, 1.96142, 2.07124, 2.40932, 2.60053, + 1.18934, 1.30243, 1.96196, 2.06321, 2.43212, 2.5453, + 1.25389, 1.37123, 1.93188, 2.03014, 2.38756, 2.55895, + 1.3073, 1.39804, 1.91099, 2.00694, 2.40944, 2.57714, + 1.33009, 1.46846, 1.90852, 2.01222, 2.41802, 2.53768, + 1.36799, 1.49229, 1.94202, 2.03675, 2.49887, 2.581, + 1.36837, 1.44343, 1.94748, 2.01318, 2.48634, 2.58524, + 1.41828, 1.49685, 1.93344, 2.02463, 2.47368, 2.59404, + 1.44389, 1.55122, 1.90491, 2.0181, 2.45672, 2.54287, + 1.47369, 1.5871, 1.89983, 2.07901, 2.4215, 2.58448, + 1.42467, 1.61133, 1.97452, 2.14272, 2.40288, 2.62076, + 1.43149, 1.62266, 1.94023, 2.12544, 2.42965, 2.58185, + 1.48454, 1.69058, 1.92186, 2.1091, 2.4744, 2.60783, + 1.49814, 1.75158, 1.92573, 2.03913, 2.44052, 2.61618, + 1.50525, 1.78918, 1.99467, 2.11413, 2.40842, 2.59989, + 1.60987, 1.79304, 1.98623, 2.1606, 2.51957, 2.59325, + 1.56282, 1.73991, 1.97418, 2.14322, 2.53959, 2.62009, + 1.65026, 1.72396, 2.00295, 2.1504, 2.5321, 2.60075, + 1.58463, 1.66548, 1.83385, 1.97966, 2.51117, 2.57618, + 1.54756, 1.66563, 1.80511, 1.93045, 2.42867, 2.54861, + 1.49908, 1.59512, 1.70027, 1.82419, 2.37692, 2.57548, + 1.30084, 1.55295, 1.66458, 1.79171, 2.4883, 2.56108, + 1.1686, 1.31195, 1.66858, 1.87291, 2.41357, 2.49328, + 1.04746, 1.24996, 1.69989, 1.91418, 2.41703, 2.49638, + 0.948776, 1.27559, 1.73894, 1.99868, 2.31215, 2.46202, + 0.921081, 1.31195, 1.77524, 1.89549, 2.38216, 2.52844, + 0.811311, 1.12522, 1.74519, 2.09474, 2.32611, 2.51188, + 0.796518, 1.06023, 1.74013, 2.0605, 2.17951, 2.3855, + 0.868836, 1.15335, 1.79283, 1.94564, 2.1255, 2.248, + 0.915536, 1.21816, 1.81891, 2.06835, 2.2434, 2.34865, + 0.966595, 1.30161, 1.89525, 2.11196, 2.24865, 2.38925, + 0.995849, 1.44208, 1.95207, 2.06612, 2.24012, 2.33859, + 1.05639, 1.37221, 1.98417, 2.11933, 2.2717, 2.37274, + 1.0984, 1.32416, 1.78153, 2.08286, 2.2188, 2.34432, + 1.03916, 1.35647, 1.82018, 2.11462, 2.34673, 2.45039, + 0.988689, 1.29388, 1.91635, 2.0882, 2.3625, 2.48127, + 1.10441, 1.23068, 1.93943, 2.1224, 2.25481, 2.37771, + 1.0861, 1.17448, 1.82635, 2.11132, 2.23769, 2.47167, + 1.0698, 1.20649, 1.84538, 2.11863, 2.47109, 2.5754, + 1.07496, 1.34279, 1.95531, 2.14771, 2.51147, 2.58927, + 1.1492, 1.41881, 1.88704, 1.96697, 2.47262, 2.58725, + 1.45575, 1.66983, 1.9641, 2.17518, 2.46999, 2.60501, + 1.41855, 1.60357, 1.96443, 2.17568, 2.46676, 2.58333, + 1.38939, 1.60116, 1.92575, 2.13186, 2.44202, 2.57423, + 1.41533, 1.50734, 1.91126, 2.08714, 2.5352, 2.62958, + 1.38248, 1.45371, 1.87229, 1.95541, 2.55434, 2.65851, + 1.39294, 1.4823, 1.83853, 1.92858, 2.47373, 2.63372, + 1.39046, 1.46304, 1.83991, 1.92201, 2.51494, 2.69879, + 1.33938, 1.47012, 1.85875, 1.95952, 2.53943, 2.68638, + 1.35378, 1.54103, 1.82255, 2.02216, 2.54222, 2.6772, + 1.35087, 1.63188, 1.91879, 2.18353, 2.50109, 2.61731, + 1.40764, 1.66913, 2.00074, 2.22423, 2.5228, 2.6349, + 1.43378, 1.58691, 1.99963, 2.19292, 2.53598, 2.62612, + 1.41388, 1.63943, 1.9522, 2.1707, 2.50111, 2.61059, + 1.50539, 1.61369, 1.99159, 2.21446, 2.48787, 2.61284, + 1.40925, 1.56369, 2.04804, 2.15415, 2.48373, 2.64218, + 1.41102, 1.6467, 1.98318, 2.15255, 2.56881, 2.66125, + 1.38475, 1.60381, 1.93449, 2.14195, 2.50764, 2.63005, + 1.36612, 1.55134, 1.99956, 2.17747, 2.48911, 2.59676, + 1.35554, 1.63502, 2.00842, 2.16267, 2.46527, 2.66141, + 1.45397, 1.6737, 2.03786, 2.1802, 2.61597, 2.70928, + 1.36954, 1.69647, 1.99979, 2.08485, 2.48277, 2.66629, + 1.34974, 1.46231, 1.96672, 2.05172, 2.47262, 2.65262, + 1.32731, 1.43776, 1.92852, 2.00639, 2.50581, 2.65892, + 1.34135, 1.41915, 1.9212, 1.99146, 2.53082, 2.61358, + 1.3427, 1.50533, 1.94693, 2.02943, 2.53822, 2.63558, + 1.39274, 1.5351, 1.9361, 2.02457, 2.52728, 2.61426, + 1.43256, 1.54379, 1.95185, 2.04985, 2.54624, 2.62371, + 1.45294, 1.56943, 1.93237, 2.03725, 2.55869, 2.6381, + 1.468, 1.59745, 1.92031, 2.01857, 2.53622, 2.62282, + 1.48681, 1.56965, 1.87585, 1.96607, 2.53674, 2.63191, + 1.45462, 1.57813, 1.81162, 1.97466, 2.53751, 2.60633, + 1.41804, 1.50767, 1.78357, 1.893, 2.5518, 2.62899, + 1.26414, 1.47438, 1.77059, 1.89893, 2.52476, 2.59407, + 1.11834, 1.45667, 1.73472, 1.99659, 2.41229, 2.51915, + 1.09643, 1.60312, 1.80839, 2.01224, 2.40962, 2.54436, + 0.976303, 1.47374, 1.75917, 1.85583, 2.41293, 2.48395, + 0.990184, 1.3907, 1.71071, 1.83167, 2.37709, 2.45494, + 1.0569, 1.38737, 1.78311, 1.87351, 2.40142, 2.48642, + 0.989786, 1.45262, 1.85157, 1.94592, 2.40345, 2.48294, + 1.11208, 1.36482, 1.77, 1.922, 2.29041, 2.4373, + 1.09625, 1.33639, 1.74186, 1.96857, 2.21161, 2.36249, + 1.00003, 1.34618, 1.70453, 1.96685, 2.27739, 2.38937, + 1.0279, 1.17407, 1.793, 2.02685, 2.1782, 2.38723, + 1.05688, 1.1675, 1.861, 2.20442, 2.35125, 2.48563, + 1.07597, 1.22642, 1.99764, 2.19618, 2.3301, 2.49414, + 1.14722, 1.25813, 1.95867, 2.25855, 2.38775, 2.55212, + 1.16281, 1.29057, 2.05279, 2.20183, 2.42462, 2.56048, + 1.14789, 1.26573, 2.02568, 2.13079, 2.49688, 2.62026, + 1.23956, 1.31573, 2.01838, 2.12351, 2.46395, 2.56921, + 1.18113, 1.35894, 1.94216, 2.15983, 2.4587, 2.59396, + 1.24746, 1.38644, 1.89825, 1.99901, 2.44602, 2.54276, + 1.22769, 1.50489, 1.818, 1.90802, 2.21333, 2.55223, + 1.20197, 1.57787, 1.77128, 1.87335, 2.06126, 2.53582, + 1.30623, 1.51631, 1.81923, 1.92342, 2.38203, 2.58257, + 1.50572, 1.58565, 1.94933, 2.0462, 2.44831, 2.61596, + 1.62375, 1.69873, 2.00954, 2.10801, 2.46152, 2.6479, + 1.69086, 1.76429, 2.0361, 2.1755, 2.51525, 2.61682, + 1.71534, 1.82829, 2.07855, 2.25221, 2.48367, 2.60765, + 1.65997, 1.80717, 1.97501, 2.25559, 2.48134, 2.58962, + 1.73482, 1.85022, 2.01204, 2.27674, 2.51936, 2.60818, + 1.63577, 1.86255, 1.95646, 2.32874, 2.56887, 2.63247, + 1.61635, 1.8254, 1.94952, 2.28122, 2.56086, 2.6418, + 1.59247, 1.80436, 1.92716, 2.16734, 2.57751, 2.64687, + 1.60648, 1.89509, 1.98315, 2.11245, 2.47761, 2.57696, + 1.70849, 1.83507, 1.96671, 2.12724, 2.42757, 2.54308, + 1.69109, 1.88958, 1.98607, 2.20677, 2.5224, 2.6018, + 1.70244, 1.90212, 2.07638, 2.21622, 2.48484, 2.60354, + 1.32949, 1.54259, 1.87544, 2.10553, 2.38523, 2.53663, + 1.32138, 1.47416, 1.93227, 2.1525, 2.37442, 2.50671, + 1.27775, 1.45858, 1.96309, 2.18238, 2.417, 2.55865, + 1.20802, 1.41871, 2.00974, 2.13853, 2.39678, 2.55451, + 1.19891, 1.29992, 1.98363, 2.15013, 2.29612, 2.50594, + 1.25034, 1.36116, 2.01056, 2.19594, 2.34098, 2.50087, + 1.30866, 1.58516, 2.10634, 2.21416, 2.40267, 2.63589, + 1.33017, 1.49463, 2.1419, 2.23581, 2.45958, 2.64947, + 1.29631, 1.43411, 2.09809, 2.20413, 2.35521, 2.60011, + 1.30962, 1.40298, 1.89254, 2.18495, 2.33361, 2.51316, + 1.26907, 1.49184, 1.95896, 2.17457, 2.32469, 2.54367, + 1.43498, 1.62885, 1.98127, 2.24728, 2.4764, 2.59398, + 1.45964, 1.65008, 2.02437, 2.26772, 2.54631, 2.6752, + 1.38149, 1.70319, 2.13891, 2.29556, 2.54576, 2.64253, + 1.44184, 1.70059, 2.19791, 2.27629, 2.46821, 2.69495, + 1.53967, 1.99967, 2.20653, 2.35148, 2.65123, 2.73482, + 1.58958, 1.92641, 2.17346, 2.2562, 2.63324, 2.70768, + 1.43426, 1.85937, 2.14195, 2.21145, 2.51178, 2.62838, + 1.32681, 1.59657, 2.02477, 2.11581, 2.42614, 2.60934, + 1.22907, 1.32555, 1.8387, 2.01305, 2.4713, 2.63928, + 1.23081, 1.32906, 1.87262, 1.96451, 2.44475, 2.59469, + 1.1937, 1.4263, 1.89859, 2.03936, 2.50271, 2.58105, + 1.17564, 1.47329, 1.91242, 2.00274, 2.47622, 2.60685, + 1.09927, 1.4439, 1.89246, 1.99757, 2.52208, 2.61109, + 1.11374, 1.4391, 1.91227, 2.00048, 2.46277, 2.55934, + 1.08551, 1.46963, 1.91446, 2.06461, 2.42792, 2.51241, + 1.05248, 1.5012, 1.9188, 1.99979, 2.49368, 2.57171, + 1.0436, 1.33162, 1.92795, 1.98919, 2.44573, 2.57808, + 1.05198, 1.20039, 1.93863, 2.02681, 2.44675, 2.62988, + 0.978672, 1.08304, 1.86878, 2.13358, 2.43014, 2.58027, + 0.904772, 1.10521, 1.96057, 2.06495, 2.36256, 2.60488, + 0.859439, 1.08463, 1.90171, 2.033, 2.27617, 2.57472, + 0.948943, 1.04355, 1.85564, 2.05086, 2.44443, 2.66148, + 0.974338, 1.12646, 1.92732, 2.02091, 2.45549, 2.55978, + 0.995629, 1.17589, 1.93774, 2.01368, 2.37897, 2.61729, + 1.00131, 1.22439, 1.9017, 1.97647, 2.42588, 2.57484, + 0.985969, 1.2826, 1.88661, 2.03245, 2.45596, 2.59953, + 0.92759, 1.32045, 1.92401, 2.01217, 2.49831, 2.59968, + 1.00794, 1.38396, 1.92163, 2.00762, 2.50757, 2.6075, + 0.972512, 1.44677, 1.92036, 2.01349, 2.49021, 2.57649, + 0.951123, 1.45204, 1.88986, 1.98727, 2.42148, 2.56222, + 0.924342, 1.36995, 1.85174, 1.94274, 2.47566, 2.54428, + 0.882605, 1.30167, 1.85081, 2.0325, 2.36463, 2.54182, + 0.933888, 1.369, 1.94311, 2.02385, 2.40544, 2.53033, + 0.927916, 1.11238, 1.84743, 1.97909, 2.2556, 2.56399, + 1.03194, 1.24913, 1.83317, 1.92522, 2.31031, 2.52014, + 0.934046, 1.23989, 1.9096, 2.00815, 2.37287, 2.54896, + 0.984297, 1.22003, 1.82379, 1.9476, 2.26436, 2.47865, + 0.933366, 1.27898, 1.86047, 1.943, 2.2898, 2.46567, + 0.983115, 1.22771, 1.8421, 2.0477, 2.27265, 2.53198, + 0.953311, 1.24582, 1.84968, 1.94514, 2.28957, 2.57228, + 0.994609, 1.30346, 1.86814, 1.97156, 2.37244, 2.58526, + 0.986061, 1.36409, 1.85213, 1.91782, 2.43511, 2.63387, + 0.975486, 1.24885, 1.8488, 1.93443, 2.40202, 2.5742, + 1.00839, 1.30468, 1.80431, 1.88851, 2.36947, 2.59823, + 0.999393, 1.32994, 1.90144, 1.99438, 2.3975, 2.50455, + 0.922186, 1.32154, 1.85108, 1.96206, 2.38216, 2.47299, + 0.897224, 1.38219, 1.78084, 1.92173, 2.35959, 2.44809, + 0.859516, 1.44737, 1.73231, 1.88119, 2.29523, 2.38085, + 0.986347, 1.60164, 1.75239, 1.96636, 2.31438, 2.4591, + 1.26526, 1.61653, 1.81127, 2.09714, 2.37124, 2.55036, + 1.31896, 1.60043, 1.75564, 2.02981, 2.32919, 2.49314, + 1.2099, 1.47013, 1.67019, 1.97073, 2.41621, 2.52342, + 1.12223, 1.3084, 1.45711, 1.72023, 2.38426, 2.47042, + 1.07767, 1.24551, 1.36648, 1.66428, 2.32734, 2.4192, + 1.07545, 1.22813, 1.36538, 1.55895, 2.23858, 2.32456, + 1.0445, 1.21579, 1.32599, 1.64519, 2.14864, 2.22575, + 0.955863, 1.15061, 1.28313, 1.49231, 2.17758, 2.26668, + 0.909204, 1.04511, 1.16616, 1.32059, 2.21597, 2.35285, + 0.960368, 1.10354, 1.27835, 1.46773, 2.26015, 2.46024, + 1.01022, 1.18678, 1.29006, 1.57843, 2.38873, 2.50032, + 1.02014, 1.13572, 1.23934, 1.38884, 2.43818, 2.56392, + 1.08249, 1.20695, 1.34746, 1.49004, 2.40482, 2.49462, + 1.14411, 1.27864, 1.43473, 1.56789, 2.32277, 2.4248, + 1.2743, 1.34879, 1.5156, 1.63222, 2.36011, 2.55279, + 1.30133, 1.39063, 1.63849, 1.76491, 2.34796, 2.57611, + 1.35852, 1.44445, 1.72449, 1.84371, 2.47814, 2.57455, + 1.39971, 1.51331, 1.79171, 1.90217, 2.49582, 2.58159, + 1.44887, 1.53475, 1.82151, 1.93149, 2.51782, 2.62286, + 1.4384, 1.53006, 1.83144, 1.99933, 2.53193, 2.62328, + 1.51192, 1.58109, 1.92748, 2.0414, 2.57329, 2.66347, + 1.53538, 1.60831, 1.92423, 2.0488, 2.54675, 2.68165, + 1.54437, 1.62041, 1.98043, 2.06813, 2.4774, 2.62665, + 1.55846, 1.64301, 2.02461, 2.12101, 2.45187, 2.63949, + 1.5242, 1.61395, 2.0059, 2.11548, 2.42909, 2.66308, + 1.50452, 1.59038, 1.96636, 2.07263, 2.3769, 2.62109, + 1.43939, 1.51234, 1.95035, 2.05856, 2.27641, 2.57304, + 1.31521, 1.40005, 1.85475, 1.95763, 2.2462, 2.5765, + 1.28812, 1.4889, 1.94557, 2.02484, 2.43985, 2.60568, + 1.43628, 1.66725, 2.05685, 2.14644, 2.54824, 2.66174, + 1.41739, 1.81984, 2.08357, 2.22028, 2.60669, 2.69086, + 1.3736, 1.96301, 2.14457, 2.27406, 2.54739, 2.6389, + 1.32037, 1.91864, 2.06321, 2.23772, 2.41585, 2.51765, + 1.22378, 1.61975, 1.89059, 2.10791, 2.521, 2.6297, + 1.01875, 1.42767, 1.91757, 2.00178, 2.43551, 2.56435, + 1.02625, 1.37705, 1.94917, 2.03921, 2.39377, 2.53005, + 1.00999, 1.47285, 1.99805, 2.07988, 2.48496, 2.55395, + 1.05327, 1.46837, 2.01612, 2.12931, 2.45662, 2.56413, + 1.10107, 1.35527, 2.01044, 2.10747, 2.39561, 2.53775, + 1.1328, 1.39166, 2.01657, 2.1141, 2.49762, 2.5851, + 1.17331, 1.44301, 1.97063, 2.10486, 2.44788, 2.53594, + 1.20948, 1.3841, 1.97224, 2.06959, 2.45749, 2.57369, + 1.24242, 1.45356, 1.98373, 2.06842, 2.47104, 2.59361, + 1.32039, 1.46365, 1.99783, 2.08233, 2.47203, 2.60589, + 1.38952, 1.47773, 1.97869, 2.09404, 2.48017, 2.64444, + 1.41374, 1.52609, 1.96375, 2.11392, 2.40385, 2.65443, + 1.51942, 1.59285, 1.91946, 2.02449, 2.30117, 2.66889, + 1.51366, 1.60013, 1.92201, 2.1051, 2.27832, 2.52342, + 1.48185, 1.65994, 1.91355, 2.04944, 2.27225, 2.49379, + 1.56755, 1.65917, 1.93065, 2.07152, 2.31259, 2.56427, + 1.55089, 1.67766, 1.86393, 2.01013, 2.22347, 2.52001, + 1.57277, 1.68302, 1.86305, 2.0022, 2.32038, 2.56079, + 1.62194, 1.73405, 1.92064, 2.06293, 2.33511, 2.57625, + 1.63149, 1.69714, 1.95288, 2.05658, 2.45963, 2.65286, + 1.59471, 1.67149, 1.93609, 2.0133, 2.43078, 2.66963, + 1.60144, 1.6687, 1.9455, 2.03717, 2.50337, 2.68212, + 1.58757, 1.6649, 1.94462, 2.03299, 2.56976, 2.70341, + 1.55642, 1.63125, 1.93071, 2.04051, 2.45387, 2.66518, + 1.48785, 1.56563, 1.89287, 2.01173, 2.39394, 2.64712, + 1.40601, 1.52018, 1.79165, 1.98788, 2.28933, 2.60276, + 1.35822, 1.43604, 1.81848, 1.95708, 2.3098, 2.60578, + 1.30934, 1.40533, 1.8357, 2.07637, 2.34081, 2.61306, + 1.30379, 1.41561, 1.98515, 2.12949, 2.46936, 2.64312, + 1.35895, 1.43773, 1.98883, 2.12737, 2.53798, 2.65647, + 1.33387, 1.48046, 1.95007, 2.12244, 2.43117, 2.58713, + 1.38453, 1.53971, 1.96409, 2.13055, 2.51045, 2.65281, + 1.41262, 1.54444, 1.94728, 2.17319, 2.59302, 2.71664, + 1.43327, 1.53989, 2.00413, 2.20195, 2.51505, 2.63524, + 1.44758, 1.55402, 2.12827, 2.24017, 2.47075, 2.65708, + 1.48065, 1.6099, 2.09796, 2.16757, 2.4737, 2.7007, + 1.60782, 1.67596, 2.02341, 2.14638, 2.42691, 2.63625, + 1.6433, 1.71778, 2.06066, 2.19756, 2.41541, 2.61433, + 1.73739, 1.81697, 2.03936, 2.21971, 2.423, 2.62353, + 1.69426, 1.79937, 2.0426, 2.2801, 2.41863, 2.58327, + 1.55619, 1.83187, 1.98536, 2.2079, 2.47168, 2.63082, + 1.42115, 1.8039, 1.98458, 2.12351, 2.4382, 2.5225, + 1.32744, 1.66887, 1.88843, 2.02994, 2.22446, 2.46175, + 1.10982, 1.5622, 1.86266, 1.97786, 2.13955, 2.32864, + 1.23388, 1.5808, 1.85419, 2.02179, 2.1935, 2.35592, + 1.20754, 1.56864, 1.87291, 1.98667, 2.13794, 2.48765, + 1.17998, 1.62595, 1.9, 2.00814, 2.23166, 2.59435, + 1.46984, 1.7172, 1.87567, 2.02443, 2.32546, 2.48842, + 1.6411, 1.80978, 1.92676, 2.06205, 2.41404, 2.5429, + 1.6488, 1.73412, 1.9669, 2.08673, 2.35448, 2.49884, + 1.60547, 1.68939, 2.01005, 2.11421, 2.40763, 2.52707, + 1.52089, 1.62873, 1.97701, 2.08677, 2.34016, 2.48934, + 1.50382, 1.60059, 2.03901, 2.13038, 2.39648, 2.51374, + 1.43782, 1.54532, 2.04393, 2.18837, 2.35682, 2.52145, + 1.4454, 1.54921, 1.98221, 2.09666, 2.32863, 2.46213, + 1.41642, 1.50436, 1.97377, 2.08043, 2.39348, 2.54353, + 1.42582, 1.52808, 1.99573, 2.16253, 2.44069, 2.56251, + 1.39427, 1.47395, 2.04354, 2.14909, 2.43298, 2.54908, + 1.37375, 1.47605, 2.0439, 2.16025, 2.34535, 2.50188, + 1.37018, 1.44359, 2.09287, 2.1781, 2.41306, 2.5906, + 1.32039, 1.46637, 2.03678, 2.13781, 2.43562, 2.57891, + 1.28693, 1.39332, 2.06073, 2.20094, 2.50002, 2.58235, + 1.32339, 1.42179, 2.0585, 2.15393, 2.49555, 2.63809, + 1.29531, 1.39322, 2.00442, 2.13819, 2.52637, 2.64154, + 1.23098, 1.35513, 2.04737, 2.15642, 2.52238, 2.66413, + 1.23375, 1.30852, 1.93949, 2.09735, 2.48735, 2.64984, + 1.22759, 1.3551, 1.87583, 1.97754, 2.31929, 2.57519, + 1.22737, 1.50711, 1.85352, 2.02289, 2.21243, 2.57649, + 1.1529, 1.47051, 1.83043, 1.95431, 2.33145, 2.53325, + 1.33666, 1.65018, 1.77921, 2.04342, 2.44482, 2.53964, + 1.45582, 1.58294, 2.02225, 2.17668, 2.48134, 2.59266, + 1.43763, 1.55624, 2.08145, 2.17496, 2.48245, 2.61457, + 1.41647, 1.62089, 2.03301, 2.15707, 2.46292, 2.60159, + 1.3763, 1.55149, 2.11721, 2.19834, 2.41619, 2.60563, + 1.4428, 1.65786, 2.12709, 2.2063, 2.34486, 2.57811, + 1.36811, 1.53873, 2.0602, 2.19805, 2.36688, 2.62224, + 1.34644, 1.42834, 1.98045, 2.12661, 2.28327, 2.53061, + 1.30459, 1.37326, 1.92352, 2.09636, 2.23996, 2.50843, + 1.29803, 1.37159, 1.95497, 2.10751, 2.34971, 2.54557, + 1.30718, 1.41617, 1.98034, 2.06446, 2.3891, 2.58844, + 1.2793, 1.39078, 1.95978, 2.09069, 2.43615, 2.61261, + 1.31702, 1.41587, 1.92187, 2.07179, 2.46382, 2.61622, + 1.29431, 1.4123, 1.9162, 2.0192, 2.48471, 2.61134, + 1.31005, 1.40777, 1.85317, 2.00991, 2.46649, 2.64501, + 1.3413, 1.42233, 1.88516, 1.96781, 2.48386, 2.62632, + 1.42826, 1.52612, 1.88512, 1.97853, 2.49939, 2.60339, + 1.50117, 1.58051, 1.84728, 2.00049, 2.46595, 2.60887, + 1.53851, 1.6254, 1.81392, 1.95006, 2.5229, 2.62047, + 1.56663, 1.6396, 1.77179, 1.87875, 2.54176, 2.66369, + 1.54343, 1.64782, 1.74862, 1.8226, 2.43468, 2.63128, + 1.62339, 1.68092, 1.75915, 1.84454, 2.52147, 2.65361, + 1.57486, 1.66372, 1.76778, 1.86974, 2.45334, 2.65822, + 1.55831, 1.66125, 1.79384, 1.89513, 2.26187, 2.57233, + 1.54368, 1.62776, 1.81767, 1.92128, 2.433, 2.65334, + 1.49354, 1.57566, 1.80569, 1.93945, 2.47064, 2.66508, + 1.44005, 1.51384, 1.83221, 1.9378, 2.53025, 2.70287, + 1.3191, 1.50623, 1.82349, 1.93161, 2.53955, 2.6767, + 1.30727, 1.56337, 1.84793, 1.95172, 2.25182, 2.45322, + 1.33641, 1.6616, 1.82882, 1.98833, 2.18951, 2.35425, + 1.34292, 1.59875, 1.78474, 1.91512, 2.10999, 2.45064, + 1.3367, 1.64636, 1.80074, 1.89121, 2.23591, 2.55851, + 1.31176, 1.50001, 1.83022, 1.94504, 2.43039, 2.64458, + 1.26611, 1.43196, 1.85876, 2.05915, 2.59049, 2.67476, + 1.31778, 1.41995, 1.91646, 2.12482, 2.57473, 2.66848, + 1.34152, 1.43617, 1.96842, 2.09744, 2.57279, 2.6851, + 1.30593, 1.43886, 1.93375, 2.03608, 2.56907, 2.65642, + 1.27913, 1.40647, 1.94309, 2.03172, 2.53008, 2.63088, + 1.28601, 1.41003, 1.96969, 2.04024, 2.44857, 2.65137, + 1.25754, 1.39106, 1.96657, 2.03921, 2.40242, 2.64679, + 1.22439, 1.35213, 1.93137, 2.00634, 2.4562, 2.69615, + 1.29629, 1.4881, 1.99695, 2.06819, 2.59454, 2.69584, + 1.33457, 1.60772, 1.92214, 2.16316, 2.54592, 2.67997, + 1.38178, 1.64677, 2.03764, 2.20409, 2.54579, 2.63933, + 1.41682, 1.62893, 2.04593, 2.20935, 2.52385, 2.67579, + 1.43146, 1.6948, 1.99893, 2.15953, 2.52293, 2.66475, + 1.38424, 1.62294, 2.03694, 2.11571, 2.52889, 2.63393, + 1.40383, 1.55836, 2.02735, 2.13802, 2.56277, 2.65938, + 1.39059, 1.67194, 2.01794, 2.16459, 2.59282, 2.68361, + 1.35753, 1.55376, 2.02314, 2.21231, 2.42046, 2.55826, + 1.30172, 1.46582, 2.05293, 2.21596, 2.42069, 2.54852, + 1.33933, 1.59705, 2.03516, 2.14582, 2.5096, 2.64414, + 1.34609, 1.63387, 2.00692, 2.11472, 2.57003, 2.68888, + 1.35844, 1.50167, 1.94958, 2.02763, 2.47964, 2.63746, + 1.42799, 1.53369, 1.85363, 1.96081, 2.43754, 2.58846, + 1.507, 1.58581, 1.86464, 1.95027, 2.47877, 2.62455, + 1.53515, 1.61948, 1.7846, 1.92633, 2.53715, 2.6658, + 1.49966, 1.57482, 1.68583, 1.82255, 2.53399, 2.70531, + 1.58548, 1.64242, 1.72185, 1.84674, 2.52449, 2.71035, + 1.16736, 1.62721, 1.76839, 1.85304, 2.26556, 2.54052, + 1.11032, 1.50695, 1.80563, 1.88181, 2.36127, 2.58996, + 1.06643, 1.53942, 1.7463, 1.93612, 2.12799, 2.46118, + 1.111, 1.56535, 1.85208, 1.96046, 2.21492, 2.4979, + 1.11612, 1.59069, 1.87918, 1.96908, 2.32329, 2.53297, + 1.1484, 1.55745, 1.81996, 1.96379, 2.38034, 2.48453, + 1.09256, 1.56982, 1.784, 1.95924, 2.32426, 2.46849, + 1.213, 1.57893, 1.75164, 1.90157, 2.27177, 2.38609, + 1.12398, 1.62627, 1.75806, 1.98376, 2.29113, 2.408, + 1.07579, 1.53483, 1.78478, 2.04194, 2.2367, 2.36811, + 1.11878, 1.41569, 1.97193, 2.12276, 2.33025, 2.44046, + 1.01609, 1.33452, 1.8992, 2.12157, 2.42514, 2.54387, + 1.0662, 1.28942, 1.94816, 2.08195, 2.47149, 2.59382, + 1.06499, 1.25576, 1.93597, 2.03695, 2.49318, 2.61275, + 1.04967, 1.22845, 1.82953, 2.02506, 2.43107, 2.67084, + 1.01963, 1.31358, 1.88031, 1.95395, 2.49169, 2.64266, + 1.15348, 1.5519, 1.90975, 2.13353, 2.54007, 2.62647, + 1.29303, 1.60048, 2.03569, 2.16688, 2.57297, 2.65826, + 1.40931, 1.62414, 1.99362, 2.26849, 2.52706, 2.65186, + 1.4264, 1.68151, 2.03941, 2.21528, 2.55906, 2.6814, + 1.42204, 1.75264, 2.02799, 2.23143, 2.54648, 2.63124, + 1.40307, 1.73555, 2.00708, 2.20211, 2.63554, 2.71835, + 1.36412, 1.68736, 2.01193, 2.29363, 2.6407, 2.70526, + 1.32806, 1.60827, 1.98985, 2.36496, 2.59056, 2.68945, + 1.33359, 1.64487, 2.1305, 2.30858, 2.64414, 2.73281, + 1.40524, 1.66596, 2.12336, 2.31586, 2.65694, 2.73287, + 1.43537, 1.67954, 2.0191, 2.2544, 2.59608, 2.67406, + 1.04103, 1.47652, 1.92332, 2.29056, 2.59234, 2.67362, + 0.818396, 1.18975, 2.05137, 2.23338, 2.4171, 2.62257, + 0.745703, 1.24025, 2.13926, 2.22418, 2.47642, 2.55879, + 0.786217, 1.29674, 2.00436, 2.24582, 2.54872, 2.6314, + 0.781573, 1.12234, 1.87575, 2.27728, 2.45942, 2.55721, + 0.697586, 1.32715, 2.09799, 2.17356, 2.57467, 2.6936, + 0.773107, 1.39301, 1.97117, 2.27022, 2.5915, 2.65154, + 0.799951, 1.25267, 1.92838, 2.21123, 2.57772, 2.68382, + 0.737528, 1.23791, 1.82716, 2.11053, 2.4763, 2.62767, + 0.896067, 1.42136, 1.84116, 2.10482, 2.43287, 2.58572, + 0.920446, 1.41858, 1.94342, 2.2527, 2.49124, 2.62311, + 0.905094, 1.28473, 1.84369, 2.26911, 2.47954, 2.59591, + 1.04955, 1.4475, 1.84117, 2.16036, 2.57575, 2.6557, + 1.2828, 1.44542, 1.90123, 2.29017, 2.58164, 2.67873, + 1.17471, 1.51702, 1.86793, 2.17662, 2.54748, 2.64015, + 1.24126, 1.5185, 1.93677, 2.20877, 2.52132, 2.61983, + 1.32193, 1.5402, 1.99853, 2.20577, 2.60566, 2.70791, + 1.3038, 1.62293, 1.88039, 2.18949, 2.58891, 2.66997, + 1.36083, 1.65855, 1.90332, 2.17801, 2.55428, 2.63477, + 1.38546, 1.62331, 1.9591, 2.25774, 2.60539, 2.69462, + 1.46795, 1.62817, 2.0031, 2.34892, 2.5961, 2.67456, + 1.41184, 1.69139, 1.94701, 2.25922, 2.52614, 2.61511, + 1.41526, 1.69746, 2.0031, 2.28429, 2.52624, 2.64336, + 1.36534, 1.61019, 2.0221, 2.1717, 2.5576, 2.64224, + 1.34395, 1.63077, 2.04084, 2.26171, 2.47792, 2.64736, + 1.33358, 1.63038, 2.0312, 2.21087, 2.50406, 2.62333, + 1.34412, 1.70468, 2.06581, 2.19257, 2.54136, 2.65852, + 1.43988, 1.66659, 2.08273, 2.20601, 2.63634, 2.69917, + 1.34435, 1.65594, 2.02685, 2.22783, 2.56587, 2.66126, + 1.29968, 1.58529, 1.96155, 2.23114, 2.59956, 2.6776, + 1.18443, 1.44165, 1.88854, 2.25541, 2.55466, 2.62551, + 1.44657, 1.79255, 2.02266, 2.17921, 2.49716, 2.59111, + 1.46468, 1.80928, 2.06019, 2.20545, 2.54596, 2.64191, + 1.48129, 1.72952, 2.02569, 2.25001, 2.53746, 2.66775, + 1.47646, 1.65779, 2.00806, 2.2492, 2.50322, 2.61312, + 1.38626, 1.58955, 2.0317, 2.2183, 2.50921, 2.6191, + 1.38626, 1.66286, 2.05258, 2.20868, 2.48839, 2.62305, + 1.43812, 1.64607, 1.96782, 2.21244, 2.50872, 2.6294, + 1.4376, 1.59023, 2.08908, 2.18445, 2.56655, 2.67785, + 1.36702, 1.65253, 2.08437, 2.16949, 2.4836, 2.65574, + 1.40378, 1.70134, 2.0628, 2.14854, 2.44319, 2.65725, + 1.39919, 1.70605, 2.06243, 2.14458, 2.53122, 2.63501, + 1.40966, 1.75057, 2.00507, 2.08724, 2.60283, 2.69407, + 1.43015, 1.7604, 2.0488, 2.11806, 2.56938, 2.65727, + 1.41885, 1.85893, 2.01867, 2.14141, 2.59787, 2.67114, + 1.51504, 1.81561, 1.94217, 2.08906, 2.55465, 2.6346, + 1.42003, 1.74012, 1.95375, 2.19613, 2.50269, 2.63975, + 1.3841, 1.72331, 1.90117, 2.1602, 2.42662, 2.52258, + 1.34105, 1.73737, 1.89475, 2.11087, 2.40751, 2.50284, + 1.37576, 1.55398, 1.78427, 1.98142, 2.50412, 2.57153, + 1.41459, 1.52055, 1.71537, 2.01302, 2.5112, 2.60864, + 1.38497, 1.51911, 1.69669, 1.93938, 2.5757, 2.64475, + 1.37786, 1.61168, 1.75124, 2.04456, 2.4936, 2.56797, + 1.36085, 1.55368, 1.69398, 2.03611, 2.53589, 2.58847, + 1.39163, 1.48933, 1.63148, 1.85308, 2.52955, 2.63182, + 1.36408, 1.47605, 1.62904, 1.94902, 2.52574, 2.58792, + 1.2439, 1.39859, 1.53969, 2.06632, 2.52865, 2.59222, + 1.25551, 1.42936, 1.54884, 1.95098, 2.51998, 2.57485, + 1.21333, 1.3888, 1.50598, 1.88664, 2.48612, 2.54536, + 1.1258, 1.2869, 1.53495, 1.98205, 2.49021, 2.57068, + 1.13252, 1.2962, 1.46083, 1.92525, 2.35567, 2.44404, + 1.14673, 1.36534, 1.49607, 2.02061, 2.44833, 2.51065, + 1.19278, 1.37894, 1.49116, 1.95926, 2.45914, 2.51972, + 1.27161, 1.38388, 1.52586, 1.95321, 2.47314, 2.52627, + 1.19995, 1.36609, 1.51973, 1.92677, 2.56299, 2.62374, + 1.23602, 1.38351, 1.51039, 1.7933, 2.58549, 2.67708, + 1.27722, 1.41656, 1.53945, 1.92379, 2.59908, 2.66772, + 1.19596, 1.40806, 1.56871, 2.09079, 2.62218, 2.6689, + 1.17444, 1.3008, 1.70657, 2.07033, 2.33283, 2.491, + 1.12025, 1.25279, 1.5621, 2.05712, 2.35786, 2.4881, + 1.17632, 1.29197, 1.76026, 2.09335, 2.39555, 2.59153, + 1.19772, 1.41553, 1.80193, 2.03318, 2.45962, 2.59256, + 1.17046, 1.49125, 1.88804, 2.08248, 2.39229, 2.52815, + 1.08351, 1.49178, 1.94946, 2.0462, 2.42247, 2.59161, + 1.05994, 1.41798, 1.95482, 2.07325, 2.48096, 2.59912, + 0.939633, 1.34851, 2.00568, 2.09423, 2.47405, 2.58029, + 0.849679, 1.29353, 1.99812, 2.10527, 2.4101, 2.61591, + 0.886534, 1.43235, 1.99045, 2.0898, 2.37908, 2.5395, + 0.973462, 1.47362, 1.94439, 2.05184, 2.3931, 2.46861, + 1.04199, 1.57643, 1.95273, 2.06254, 2.32632, 2.43777, + 1.0487, 1.54395, 1.79902, 2.01526, 2.41591, 2.48738, + 1.06075, 1.46328, 1.792, 1.94049, 2.41744, 2.51762, + 1.08688, 1.35051, 1.71544, 1.80448, 2.48199, 2.57724, + 1.23776, 1.48723, 1.7249, 1.80832, 2.52853, 2.61455, + 1.39846, 1.49959, 1.70594, 1.81787, 2.53742, 2.61115, + 1.46184, 1.54928, 1.71949, 1.83518, 2.48005, 2.65662, + 1.41193, 1.59484, 1.72262, 1.84021, 2.5366, 2.61871, + 1.52708, 1.60947, 1.70484, 1.83282, 2.51277, 2.60508, + 1.5493, 1.64971, 1.74718, 1.83885, 2.59328, 2.68152, + 1.40865, 1.62213, 1.79776, 1.95077, 2.23897, 2.46394, + 1.46356, 1.64796, 1.79073, 1.92141, 2.34804, 2.57262, + 1.53189, 1.70037, 1.83404, 2.0056, 2.41348, 2.57054, + 1.5952, 1.68156, 1.85702, 2.02018, 2.47538, 2.62026, + 1.57838, 1.65186, 1.91226, 2.01199, 2.5125, 2.62561, + 1.55111, 1.64436, 1.93621, 2.04161, 2.52732, 2.61724, + 1.53197, 1.62315, 1.9276, 2.00745, 2.52804, 2.63456, + 1.49246, 1.57949, 1.90868, 1.99823, 2.49061, 2.58309, + 1.44543, 1.54876, 1.9137, 2.0028, 2.51924, 2.61095, + 1.39728, 1.48225, 1.89122, 1.98384, 2.47449, 2.60778, + 1.3583, 1.56294, 1.90205, 2.00361, 2.42564, 2.58541, + 1.31335, 1.51889, 1.92307, 2.01194, 2.49694, 2.5837, + 1.32168, 1.50683, 1.90306, 1.99006, 2.51061, 2.61974, + 1.27289, 1.51344, 1.8979, 2.03966, 2.53652, 2.60414, + 1.25574, 1.43115, 1.89662, 1.96089, 2.52675, 2.62424, + 1.25356, 1.39283, 1.89379, 1.97508, 2.52068, 2.59667, + 1.21234, 1.37522, 1.86031, 1.96496, 2.53119, 2.59867, + 1.17744, 1.32419, 1.80663, 1.88529, 2.48732, 2.59546, + 1.185, 1.38308, 1.78322, 1.86347, 2.46657, 2.57065, + 1.16227, 1.44473, 1.79788, 1.96024, 2.51584, 2.59443, + 1.29313, 1.61263, 1.91287, 2.11307, 2.4672, 2.59265, + 1.3544, 1.69802, 1.96011, 2.14947, 2.53298, 2.65269, + 1.41207, 1.72912, 2.03409, 2.17295, 2.53881, 2.64369, + 1.39179, 1.80176, 1.94479, 2.19455, 2.4673, 2.54771, + 1.47608, 1.74319, 1.98255, 2.14116, 2.55905, 2.64289, + 1.42368, 1.8572, 1.99841, 2.14699, 2.4995, 2.58386, + 1.42068, 1.87817, 2.01232, 2.29828, 2.57827, 2.66549, + 1.45566, 1.91054, 2.06984, 2.39305, 2.59349, 2.67981, + 1.52558, 1.92571, 2.18647, 2.40072, 2.66013, 2.74311, + 1.37615, 1.63344, 1.9343, 2.25049, 2.49406, 2.61897, + 1.3545, 1.56095, 1.93126, 2.20732, 2.5007, 2.61105, + 1.30807, 1.56951, 1.96724, 2.24546, 2.46112, 2.59551, + 1.34701, 1.65498, 1.98091, 2.25189, 2.51009, 2.63498, + 1.47801, 1.58844, 2.0382, 2.22414, 2.49937, 2.64663, + 1.45153, 1.63029, 2.1141, 2.24973, 2.4165, 2.6518, + 1.41214, 1.65583, 2.12835, 2.22464, 2.52506, 2.68174, + 1.3745, 1.84889, 2.14083, 2.2919, 2.60283, 2.691, + 1.37857, 1.74485, 2.10667, 2.20122, 2.62683, 2.712, + 1.08274, 1.60312, 2.07077, 2.12957, 2.50429, 2.65755, + 1.01329, 1.46791, 1.96003, 2.09179, 2.36205, 2.56155, + 0.9941, 1.32807, 1.7917, 1.90255, 2.41063, 2.50132, + 0.999159, 1.32525, 1.72231, 1.87138, 2.28118, 2.50209, + 1.03528, 1.33808, 1.65302, 1.75976, 2.44146, 2.54067, + 1.07713, 1.29359, 1.56567, 1.7118, 2.33034, 2.43626, + 1.05812, 1.24303, 1.48833, 1.62368, 2.33012, 2.42954, + 1.15066, 1.2962, 1.57472, 1.70184, 2.39048, 2.50735, + 1.16792, 1.38204, 1.57381, 1.7953, 2.44065, 2.49036, + 1.22137, 1.40507, 1.53578, 1.72864, 2.41229, 2.51938, + 1.24827, 1.38398, 1.57228, 1.82686, 2.42535, 2.49422, + 1.27415, 1.38627, 1.55782, 1.73411, 2.37831, 2.47797, + 1.34389, 1.45603, 1.66853, 1.8156, 2.24874, 2.4197, + 1.35602, 1.5593, 1.73128, 1.85333, 2.34397, 2.51476, + 1.43321, 1.57591, 1.67319, 1.78146, 2.2928, 2.49126, + 1.35471, 1.6376, 1.87537, 2.16287, 2.40849, 2.56638, + 1.46466, 1.59144, 2.07122, 2.23546, 2.39889, 2.56349, + 1.42481, 1.62265, 2.02033, 2.16131, 2.32826, 2.46819, + 1.36427, 1.51615, 2.01176, 2.10961, 2.3957, 2.55472, + 1.34268, 1.46052, 2.0389, 2.12298, 2.50665, 2.64345, + 1.33831, 1.51988, 2.03004, 2.10015, 2.53334, 2.67477, + 1.32113, 1.54557, 1.97723, 2.12227, 2.55759, 2.68022, + 1.31509, 1.46711, 1.97243, 2.06854, 2.52684, 2.64563, + 1.30446, 1.40069, 1.95455, 2.05314, 2.5625, 2.68589, + 1.26718, 1.37666, 1.88806, 2.02989, 2.54542, 2.66931, + 1.22501, 1.33934, 1.88732, 1.96524, 2.54351, 2.67229, + 1.22621, 1.40353, 1.79766, 1.95969, 2.54099, 2.62735, + 1.34703, 1.60794, 1.96677, 2.18451, 2.47788, 2.60882, + 1.3321, 1.75596, 1.94842, 2.17671, 2.51339, 2.60137, + 1.34929, 1.7814, 1.92279, 2.10923, 2.46288, 2.55986, + 1.36238, 1.69359, 1.88434, 2.08805, 2.52247, 2.61397, + 1.32029, 1.5103, 1.85775, 2.06543, 2.49473, 2.60556, + 1.28299, 1.45974, 1.74491, 1.96142, 2.43994, 2.62375, + 1.25136, 1.38192, 1.67354, 1.7727, 2.32354, 2.66159, + 1.20426, 1.43515, 1.65423, 1.7378, 2.30506, 2.58156, + 1.18196, 1.46528, 1.67003, 1.8613, 2.44412, 2.54613, + 1.34712, 1.62826, 1.93134, 2.12343, 2.46685, 2.59892, + 1.17048, 1.28493, 1.55274, 1.83255, 2.29979, 2.51981, + 1.19004, 1.28402, 1.64609, 1.96917, 2.49692, 2.62045, + 1.25541, 1.38147, 1.78173, 2.09499, 2.43136, 2.59352, + 1.23188, 1.33417, 1.79625, 2.04, 2.38708, 2.55466, + 1.18052, 1.30857, 1.81824, 1.97632, 2.2935, 2.4518, + 1.10256, 1.26632, 1.84425, 1.96176, 2.32484, 2.51408, + 1.00464, 1.14487, 1.83502, 1.9971, 2.18238, 2.52208, + 0.956994, 1.21291, 1.94092, 2.06045, 2.31223, 2.44167, + 0.795434, 1.44428, 1.93242, 2.04716, 2.36568, 2.45052, + 0.942462, 1.60604, 2.02512, 2.11974, 2.29995, 2.43181, + 0.812186, 1.46939, 2.07832, 2.17302, 2.39197, 2.47405, + 0.831008, 1.62061, 2.09294, 2.16773, 2.33486, 2.41672, + 0.917049, 1.801, 2.12123, 2.19938, 2.34728, 2.44052, + 0.857286, 1.67915, 2.11243, 2.20307, 2.44474, 2.52921, + 0.809582, 1.54255, 2.18237, 2.23944, 2.46198, 2.54337, + 0.912283, 1.7792, 2.16632, 2.25109, 2.46168, 2.57688, + 0.774827, 1.7702, 2.1792, 2.23961, 2.48732, 2.56023, + 1.22299, 1.57457, 2.08108, 2.22359, 2.50152, 2.6613, + 1.39422, 1.69632, 2.03665, 2.27333, 2.5704, 2.68413, + 1.37077, 1.69891, 2.08266, 2.24567, 2.59879, 2.69545, + 1.37241, 1.64717, 2.14237, 2.27291, 2.60809, 2.68656, + 1.34279, 1.69454, 2.12328, 2.25676, 2.57528, 2.69095, + 1.38055, 1.75068, 2.1234, 2.19974, 2.48804, 2.61024, + 1.39506, 1.88332, 2.0887, 2.18949, 2.45826, 2.54814, + 1.41315, 1.87284, 2.02083, 2.16196, 2.39617, 2.48701, + 1.4031, 1.76424, 1.91125, 2.05585, 2.39101, 2.4846, + 1.25059, 1.60685, 1.83481, 1.91441, 2.34409, 2.54946, + 1.17101, 1.40644, 1.69912, 1.8581, 2.35407, 2.47105, + 1.13269, 1.25187, 1.52135, 1.63829, 2.35528, 2.47061, + 1.01168, 1.2879, 1.45026, 1.66382, 2.28546, 2.37145, + 1.03024, 1.20842, 1.36667, 1.55035, 2.33752, 2.4214, + 0.964915, 1.17119, 1.28816, 1.58842, 2.32729, 2.3883, + 0.953674, 1.10289, 1.26375, 1.83559, 2.31685, 2.42482, + 0.886544, 1.07464, 1.24224, 1.96444, 2.29681, 2.41295, + 0.853009, 1.07708, 1.18453, 1.75232, 2.28304, 2.38922, + 0.840278, 1.03322, 1.15255, 1.52095, 2.33398, 2.45453, + 0.91077, 1.08387, 1.22354, 1.66808, 2.34624, 2.51185, + 0.967915, 1.12182, 1.22026, 1.80659, 2.42113, 2.49818, + 0.992265, 1.16907, 1.26005, 1.67999, 2.39894, 2.45914, + 1.06528, 1.23096, 1.32238, 1.75348, 2.3144, 2.41593, + 1.08131, 1.27178, 1.45801, 1.7294, 2.3323, 2.40512, + 1.01781, 1.34909, 1.51584, 1.72189, 2.29296, 2.39899, + 1.09765, 1.33294, 1.57003, 1.77646, 2.37727, 2.46589, + 1.14764, 1.3025, 1.64016, 1.79704, 2.36388, 2.4748, + 1.12717, 1.32201, 1.68488, 1.79646, 2.40705, 2.57866, + 1.15953, 1.26665, 1.70955, 1.83058, 2.43816, 2.57242, + 1.1371, 1.33151, 1.7494, 1.846, 2.41439, 2.51149, + 1.12127, 1.3511, 1.72822, 1.84666, 2.44921, 2.56416, + 1.11868, 1.26154, 1.79446, 1.88577, 2.42901, 2.55277, + 1.07699, 1.21216, 1.72764, 1.86126, 2.43299, 2.56404, + 1.08209, 1.2617, 1.76092, 1.85803, 2.31585, 2.57359, + 1.08635, 1.27906, 1.76312, 1.86419, 2.38079, 2.4853, + 0.988401, 1.26239, 1.7379, 1.83671, 2.37578, 2.49239, + 1.07471, 1.1962, 1.67728, 1.80631, 2.3414, 2.56064, + 1.06786, 1.26529, 1.68935, 1.80299, 2.40195, 2.52406, + 1.01048, 1.28954, 1.65272, 1.77873, 2.3623, 2.46655, + 0.97757, 1.26131, 1.57627, 1.74133, 2.29762, 2.40409, + 1.09718, 1.46442, 1.60666, 1.71761, 2.33071, 2.41207, + 1.38384, 1.65227, 1.8982, 2.09661, 2.47672, 2.57418, + 1.27973, 1.70061, 1.89499, 2.02987, 2.46839, 2.58449, + 1.23667, 1.68331, 1.79106, 1.95337, 2.5331, 2.58708, + 1.18505, 1.59913, 1.8539, 1.94492, 2.49995, 2.5729, + 1.16357, 1.30732, 1.87244, 1.95399, 2.54467, 2.62323, + 1.19097, 1.44925, 1.86329, 1.93767, 2.52527, 2.59997, + 1.11855, 1.51311, 1.85667, 1.96882, 2.49739, 2.57553, + 1.15652, 1.63093, 1.84545, 2.05111, 2.44317, 2.53405, + 1.41004, 1.54198, 2.13551, 2.23561, 2.57541, 2.68055, + 1.39279, 1.72067, 2.03495, 2.19246, 2.48715, 2.6534, + 1.58125, 1.83784, 2.10976, 2.18748, 2.4979, 2.66009, + 1.66308, 1.9013, 2.15166, 2.24829, 2.53479, 2.63979, + 1.62316, 1.84307, 2.17777, 2.25531, 2.5436, 2.68119, + 1.53971, 1.84607, 2.11908, 2.31502, 2.60542, 2.69501, + 1.53269, 1.80536, 2.16618, 2.27652, 2.58208, 2.69532, + 1.5172, 1.86473, 2.11184, 2.24103, 2.6024, 2.67859, + 1.481, 1.87977, 2.1834, 2.2585, 2.62458, 2.71471, + 1.48006, 1.94783, 2.12659, 2.23931, 2.6027, 2.68976, + 1.61575, 2.02568, 2.18841, 2.29147, 2.6737, 2.72328, + 1.54669, 2.02367, 2.13758, 2.23388, 2.56357, 2.62736, + 1.51727, 1.90243, 2.13241, 2.18928, 2.54838, 2.64335, + 1.49876, 1.60236, 2.15993, 2.27567, 2.54058, 2.68296, + 1.57357, 1.6552, 2.07174, 2.2146, 2.52345, 2.64214, + 1.60199, 1.68036, 2.13015, 2.24731, 2.56771, 2.67057, + 1.63293, 1.73367, 2.1347, 2.25513, 2.55999, 2.68208, + 1.70743, 1.75206, 2.1397, 2.25206, 2.56764, 2.64791, + 1.68079, 1.81258, 2.18923, 2.2873, 2.57824, 2.64474, + 1.74613, 1.77855, 2.11951, 2.28339, 2.59638, 2.68683, + 1.68024, 1.77494, 2.09785, 2.21399, 2.55851, 2.65628, + 1.69816, 1.77769, 2.09692, 2.21101, 2.51242, 2.62563, + 1.75722, 1.8282, 2.09218, 2.21863, 2.4599, 2.65391, + 1.7683, 1.81576, 2.0446, 2.1744, 2.4698, 2.67439, + 1.74091, 1.83001, 2.0445, 2.16843, 2.4425, 2.58767, + 1.72899, 1.80159, 2.0369, 2.13569, 2.483, 2.64735, + 1.7402, 1.78035, 2.03984, 2.11648, 2.46008, 2.66641, + 1.67917, 1.81059, 1.9762, 2.08515, 2.33097, 2.5747, + 1.67538, 1.74168, 1.98661, 2.08699, 2.44484, 2.64839, + 1.60537, 1.68464, 1.97715, 2.08431, 2.40138, 2.62667, + 1.59359, 1.66701, 1.99308, 2.09579, 2.47706, 2.66052, + 1.49544, 1.67749, 1.91544, 2.10752, 2.5041, 2.68752, + 1.37119, 1.58101, 1.81209, 2.15997, 2.54081, 2.65451, + 1.3089, 1.65276, 1.8777, 2.10022, 2.49836, 2.63527, + 1.25755, 1.70119, 1.90866, 2.06398, 2.33088, 2.58848, + 1.26064, 1.73383, 1.90131, 2.04602, 2.23042, 2.37971, + 1.19202, 1.69544, 1.86633, 1.96986, 2.13128, 2.36781, + 1.3313, 1.72762, 1.87569, 1.96723, 2.11549, 2.46165, + 1.22185, 1.64479, 1.86107, 1.95729, 2.26379, 2.50923, + 1.29701, 1.68481, 1.82511, 1.98127, 2.3887, 2.49794, + 1.29299, 1.62169, 1.7955, 1.89158, 2.43094, 2.59724, + 1.29334, 1.41244, 1.67843, 2.01344, 2.40627, 2.57529, + 1.35525, 1.47052, 1.74829, 2.04483, 2.41107, 2.59082, + 1.35208, 1.47438, 1.81195, 2.02853, 2.44538, 2.59798, + 1.38043, 1.47298, 1.83619, 1.95777, 2.39037, 2.57117, + 1.41757, 1.51497, 1.83999, 1.97461, 2.38249, 2.51071, + 1.39633, 1.51162, 1.74391, 2.00952, 2.41409, 2.5335, + 1.356, 1.5112, 1.77504, 1.97354, 2.4454, 2.56885, + 1.35748, 1.53331, 1.82063, 1.99833, 2.39546, 2.5737, + 1.24454, 1.44655, 1.72685, 1.93599, 2.42899, 2.55595, + 1.20656, 1.36587, 1.51002, 1.80904, 2.46485, 2.52024, + 1.20471, 1.34027, 1.47715, 1.7318, 2.46108, 2.52582, + 1.15214, 1.29476, 1.42987, 1.66978, 2.43609, 2.50483, + 1.12233, 1.28467, 1.44544, 1.8119, 2.44447, 2.53569, + 1.1671, 1.312, 1.43068, 1.93122, 2.57918, 2.62637, + 1.14096, 1.25556, 1.41692, 1.91311, 2.46264, 2.55265, + 1.17538, 1.32509, 1.43414, 1.82628, 2.53411, 2.59969, + 1.15295, 1.31134, 1.42875, 1.73328, 2.49916, 2.55542, + 1.20894, 1.31815, 1.45086, 1.63113, 2.48479, 2.56076, + 1.21498, 1.3123, 1.49697, 1.60268, 2.44106, 2.51374, + 1.1549, 1.27435, 1.49783, 1.61108, 2.49397, 2.62846, + 1.22174, 1.32448, 1.52936, 1.6685, 2.49634, 2.57245, + 1.26548, 1.36044, 1.57445, 1.69829, 2.46587, 2.52945, + 1.29997, 1.41147, 1.63433, 1.79017, 2.46419, 2.54621, + 1.29682, 1.4613, 1.67405, 1.8673, 2.47283, 2.54653, + 1.31923, 1.49303, 1.70292, 1.86718, 2.41758, 2.50385, + 1.3077, 1.51173, 1.79546, 1.9887, 2.41583, 2.50206, + 1.34144, 1.56729, 1.84964, 2.05441, 2.36855, 2.48494, + 1.34609, 1.70986, 1.84782, 2.08987, 2.32039, 2.42693, + 1.35121, 1.5824, 1.85395, 2.08778, 2.26974, 2.40613, + 1.40341, 1.68126, 1.93063, 2.06474, 2.3176, 2.44551, + 1.30356, 1.80043, 1.94655, 2.06478, 2.3479, 2.57565, + 1.40197, 1.79512, 2.04385, 2.14916, 2.33742, 2.47542, + 1.48635, 1.89691, 2.03368, 2.16458, 2.42721, 2.51671, + 1.58122, 1.92036, 2.03292, 2.18664, 2.45883, 2.53417, + 1.62367, 1.94922, 2.05695, 2.22087, 2.54473, 2.61274, + 1.72008, 1.91633, 2.06966, 2.31006, 2.50308, 2.59265, + 1.65207, 1.9939, 2.12217, 2.28232, 2.53373, 2.60413, + 1.69638, 1.99027, 2.08866, 2.3179, 2.56235, 2.6308, + 1.68861, 1.97655, 2.0855, 2.35442, 2.4834, 2.56768, + 1.79189, 1.95662, 2.08476, 2.34413, 2.47321, 2.57802, + 1.77015, 1.95597, 2.07514, 2.2631, 2.50858, 2.59481, + 1.68817, 1.95839, 2.09717, 2.23713, 2.44313, 2.55839, + 1.61409, 1.85811, 1.99613, 2.15125, 2.32732, 2.48534, + 1.51766, 1.72978, 1.97539, 2.11873, 2.39083, 2.52342, + 1.57639, 1.76492, 1.93735, 2.15944, 2.35454, 2.47655, + 1.59652, 1.79672, 1.93068, 2.17377, 2.41526, 2.51519, + 1.59827, 1.75891, 1.94152, 2.24294, 2.46192, 2.54838, + 1.56459, 1.66781, 1.91021, 2.20751, 2.43297, 2.56229, + 1.50226, 1.59876, 1.70104, 1.99352, 2.43166, 2.56861, + 1.26117, 1.37926, 1.66944, 1.86426, 2.42439, 2.56028, + 1.18314, 1.29168, 1.49624, 1.77509, 2.41535, 2.57185, + 1.17686, 1.28064, 1.39729, 1.55628, 2.48261, 2.55691, + 1.15141, 1.26909, 1.40261, 1.52942, 2.5473, 2.66072, + 1.13835, 1.27009, 1.3867, 1.65651, 2.51668, 2.57083, + 1.16764, 1.28839, 1.3794, 1.81595, 2.48874, 2.54402, + 1.19113, 1.31858, 1.43306, 1.89873, 2.44099, 2.50552, + 1.23155, 1.33971, 1.50583, 1.86546, 2.40192, 2.56755, + 1.249, 1.34254, 1.52652, 1.64463, 2.26006, 2.52811, + 1.29212, 1.38504, 1.56729, 1.92802, 2.3436, 2.52673, + 1.55306, 1.7312, 1.87558, 2.03762, 2.18958, 2.43362, + 1.55633, 1.80735, 2.00987, 2.13476, 2.39511, 2.51776, + 1.7008, 1.863, 2.01606, 2.21287, 2.46583, 2.57661, + 1.74452, 1.8923, 2.04288, 2.2037, 2.39302, 2.52939, + 1.61468, 1.86704, 2.02413, 2.17237, 2.40215, 2.56787, + 1.66255, 1.92647, 2.01622, 2.15368, 2.54468, 2.63661, + 1.60774, 1.84063, 2.03651, 2.14887, 2.47573, 2.62342, + 1.5426, 1.78941, 1.98821, 2.1337, 2.50007, 2.62384, + 1.52049, 1.85402, 1.96628, 2.10023, 2.4655, 2.59099, + 1.4291, 1.7262, 1.95857, 2.06874, 2.39713, 2.57827, + 1.23096, 1.48391, 1.90942, 2.03717, 2.27816, 2.44268, + 1.16547, 1.40247, 1.87767, 1.98503, 2.337, 2.4823, + 1.06065, 1.34179, 1.89159, 1.9978, 2.34225, 2.47385, + 1.04598, 1.26441, 1.89288, 2.02811, 2.26571, 2.41834, + 0.872467, 1.31861, 1.94129, 2.05489, 2.26598, 2.523, + 0.878165, 1.20878, 1.86352, 2.07417, 2.31989, 2.4605, + 0.87138, 1.05093, 1.86631, 2.04429, 2.18427, 2.46922, + 0.814866, 1.20623, 1.93624, 2.04636, 2.24399, 2.39101, + 0.791495, 1.1548, 1.95086, 2.06223, 2.27019, 2.49712, + 0.734873, 1.1175, 2.01389, 2.14635, 2.25208, 2.34022, + 0.717596, 1.11331, 2.14512, 2.21429, 2.35066, 2.43709, + 0.747897, 1.18189, 1.98264, 2.07339, 2.39106, 2.46122, + 0.81421, 1.5937, 1.93081, 2.05189, 2.27992, 2.45097, + 1.008, 1.63525, 1.8487, 1.99829, 2.26496, 2.39937, + 1.05813, 1.54826, 1.72511, 1.88587, 2.17415, 2.38675, + 1.06533, 1.44683, 1.76311, 2.06116, 2.39393, 2.53335, + 1.24544, 1.51311, 1.69987, 1.88597, 2.16373, 2.41256, + 1.40222, 1.55017, 1.6791, 2.10448, 2.31427, 2.46462, + 1.43969, 1.56554, 1.74616, 2.17576, 2.35318, 2.44597, + 1.28279, 1.46757, 1.68979, 2.05702, 2.29957, 2.50654, + 1.15751, 1.36008, 1.53152, 1.93168, 2.27783, 2.38736, + 1.12772, 1.28719, 1.42109, 1.84436, 2.28107, 2.38522, + 1.17251, 1.31751, 1.49783, 1.76833, 2.3271, 2.4534, + 1.21562, 1.35145, 1.55462, 1.70686, 2.28027, 2.41032, + 1.16271, 1.31851, 1.56882, 1.75711, 2.22556, 2.32124, + 1.22115, 1.36407, 1.7282, 1.86724, 2.14964, 2.32343, + 1.27453, 1.45588, 1.65181, 1.92988, 2.11952, 2.24537, + 1.32483, 1.46666, 1.83773, 1.98275, 2.16784, 2.29489, + 1.20741, 1.46374, 1.90723, 2.01094, 2.18761, 2.31538, + 1.1975, 1.32537, 1.90394, 2.10426, 2.26437, 2.40602, + 0.964658, 1.42133, 1.80059, 2.07554, 2.24967, 2.39142, + 0.900184, 1.41949, 1.86053, 2.05217, 2.20467, 2.41473, + 0.976462, 1.44499, 1.83716, 1.99709, 2.13357, 2.30319, + 0.943062, 1.5438, 1.91463, 1.99313, 2.18465, 2.34418, + 0.89678, 1.42697, 1.92355, 2.03999, 2.25792, 2.50452, + 0.957615, 1.55318, 1.86268, 2.04465, 2.19266, 2.48417, + 1.02438, 1.62687, 1.89128, 2.04179, 2.30477, 2.61313, + 1.2607, 1.57098, 1.79692, 1.93891, 2.45798, 2.54369, + 1.43387, 1.67689, 2.02035, 2.24929, 2.48843, 2.61923, + 1.42779, 1.60531, 1.99984, 2.19762, 2.47258, 2.62826, + 1.34494, 1.54775, 2.01991, 2.15346, 2.48252, 2.6649, + 1.39455, 1.83086, 2.07575, 2.1467, 2.52985, 2.66294, + 1.39353, 1.57998, 2.00527, 2.06832, 2.59583, 2.67795, + 1.37167, 1.50166, 2.01236, 2.06929, 2.60572, 2.70121, + 1.36597, 1.44376, 1.8937, 2.06336, 2.54086, 2.63575, + 1.39281, 1.47093, 1.92042, 1.98528, 2.61205, 2.67063, + 1.39358, 1.50234, 1.92649, 2.01951, 2.57154, 2.6457, + 1.33144, 1.47006, 1.84434, 1.94554, 2.52733, 2.62083, + 1.28039, 1.38, 1.82279, 1.92768, 2.47072, 2.61404, + 1.23045, 1.39485, 1.77224, 1.9107, 2.49488, 2.56917, + 1.10377, 1.421, 1.74216, 1.90103, 2.45853, 2.54496, + 1.07083, 1.43846, 1.75479, 1.82779, 2.32372, 2.48412, + 1.02392, 1.52234, 1.71372, 1.83474, 2.2896, 2.49685, + 1.12384, 1.53995, 1.76628, 1.86662, 2.34998, 2.44122, + 1.04667, 1.49658, 1.79154, 1.85948, 2.40075, 2.4683, + 1.03123, 1.5049, 1.71427, 1.94435, 2.36522, 2.45944, + 1.20118, 1.37012, 1.88263, 2.01133, 2.41129, 2.51029, + 1.24946, 1.32446, 1.90762, 2.059, 2.44862, 2.55141, + 1.30858, 1.40302, 1.96116, 2.04859, 2.47571, 2.56247, + 1.35436, 1.47604, 2.00873, 2.11132, 2.51324, 2.59156, + 1.41531, 1.55963, 2.02019, 2.10785, 2.50535, 2.59646, + 1.45215, 1.53696, 2.03346, 2.12047, 2.47346, 2.60024, + 1.47616, 1.57067, 1.98144, 2.08987, 2.44173, 2.57494, + 1.53214, 1.60732, 1.99626, 2.09911, 2.44899, 2.57508, + 1.57825, 1.6709, 1.94645, 2.06793, 2.48457, 2.59603, + 1.64599, 1.71983, 1.90843, 2.03481, 2.5215, 2.63014, + 1.6752, 1.73909, 1.85801, 1.95115, 2.54962, 2.66814, + 1.6988, 1.74067, 1.81622, 1.87221, 2.55299, 2.67504, + 1.58931, 1.66594, 1.75197, 1.83425, 2.49582, 2.66392, + 1.44357, 1.53506, 1.6855, 1.78803, 2.39178, 2.64485, + 1.38939, 1.59756, 1.88429, 2.16105, 2.45363, 2.57728, + 1.34469, 1.5734, 1.94905, 2.03321, 2.43648, 2.65023, + 1.34068, 1.44219, 1.90408, 1.99239, 2.42751, 2.60434, + 1.30157, 1.36352, 1.87021, 1.95339, 2.44581, 2.60937, + 1.26564, 1.36552, 1.83866, 1.92217, 2.43174, 2.55248, + 1.29187, 1.45107, 1.77074, 1.90068, 2.38049, 2.47459, + 1.3198, 1.50206, 1.68621, 1.92201, 2.2912, 2.39261, + 1.25322, 1.4458, 1.59175, 1.89356, 2.29503, 2.3815, + 1.17138, 1.37063, 1.52321, 1.82582, 2.33635, 2.39918, + 1.23899, 1.36509, 1.48683, 1.79013, 2.30251, 2.38422, + 1.18649, 1.32753, 1.46369, 1.68078, 2.32204, 2.40225, + 1.16077, 1.2949, 1.46764, 1.61324, 2.21966, 2.32965, + 1.16797, 1.31227, 1.45879, 1.72547, 2.18251, 2.27065, + 1.16049, 1.37138, 1.54665, 1.85991, 2.15148, 2.26711, + 1.06064, 1.44774, 1.58936, 1.76203, 2.18795, 2.31254, + 1.09687, 1.44937, 1.66994, 1.88079, 2.20516, 2.32292, + 0.965471, 1.39498, 1.66486, 1.86974, 2.13014, 2.2721, + 0.992815, 1.27623, 1.73632, 1.88313, 2.19849, 2.29195, + 0.989087, 1.34899, 1.86928, 1.94503, 2.2171, 2.32962, + 0.90585, 1.29647, 1.83941, 1.98449, 2.13136, 2.26164, + 0.913468, 1.3471, 1.97494, 2.05681, 2.23306, 2.3124, + 0.891335, 1.51815, 1.95606, 2.01705, 2.23425, 2.36954, + 0.838007, 1.4907, 2.01764, 2.09778, 2.33146, 2.41797, + 0.918242, 1.41122, 2.04709, 2.15794, 2.31221, 2.4143, + 0.73747, 1.47534, 2.13171, 2.1951, 2.33607, 2.41009, + 0.804454, 1.24701, 2.18319, 2.2531, 2.37687, 2.45747, + 0.910989, 1.12058, 2.03128, 2.13474, 2.30167, 2.40132, + 0.823657, 1.02371, 1.8993, 2.15349, 2.27816, 2.4689, + 0.820197, 0.968457, 1.65567, 2.13731, 2.32041, 2.44255, + 0.901009, 1.04763, 1.78579, 2.12632, 2.24814, 2.41922, + 0.908944, 1.15154, 1.94127, 2.15376, 2.28778, 2.47786, + 1.02292, 1.32981, 1.97353, 2.1212, 2.26916, 2.49693, + 1.00803, 1.17657, 1.83255, 2.13074, 2.26309, 2.48407, + 1.1484, 1.26162, 1.86817, 2.13834, 2.28791, 2.47577, + 1.13164, 1.24554, 1.7469, 2.12721, 2.27364, 2.43952, + 1.10545, 1.23069, 1.75987, 2.02322, 2.2259, 2.48502, + 1.23228, 1.36348, 1.91488, 2.02165, 2.31404, 2.45593, + 1.28797, 1.37746, 1.85366, 2.03963, 2.34808, 2.50271, + 1.28514, 1.52079, 1.95102, 2.05364, 2.36654, 2.48611, + 1.27636, 1.65661, 1.88233, 2.08463, 2.43062, 2.524, + 1.3057, 1.53254, 1.86153, 2.02916, 2.43563, 2.51958, + 1.29572, 1.47484, 1.83837, 2.04501, 2.41302, 2.5453, + 1.2328, 1.30721, 1.78676, 1.91145, 2.53363, 2.62579, + 1.10601, 1.25243, 1.73731, 1.8274, 2.39547, 2.65803, + 1.08032, 1.24974, 1.76381, 1.84223, 2.48808, 2.63797, + 1.08481, 1.3027, 1.7911, 1.91571, 2.53275, 2.62698, + 1.02408, 1.39849, 1.75815, 1.94769, 2.53675, 2.6478, + 1.05255, 1.48652, 1.83597, 2.01313, 2.52654, 2.62152, + 0.980943, 1.52889, 1.88771, 1.99043, 2.55923, 2.63173, + 0.954706, 1.35519, 1.89085, 1.96874, 2.5383, 2.6458, + 0.894853, 1.31642, 1.93192, 2.00063, 2.61782, 2.70696, + 0.859848, 1.16666, 1.85185, 2.01109, 2.62987, 2.73106, + 0.817565, 1.16914, 1.97568, 2.11707, 2.59314, 2.68371, + 0.776768, 0.999874, 1.95167, 2.127, 2.57853, 2.71922, + 0.750075, 1.10567, 2.01524, 2.09916, 2.46918, 2.63788, + 0.878438, 1.03962, 2.07882, 2.1891, 2.45317, 2.61062, + 0.915136, 1.11488, 2.01769, 2.23653, 2.37028, 2.53828, + 0.82611, 1.20898, 2.06907, 2.15683, 2.33186, 2.46307, + 0.869876, 1.28956, 2.0617, 2.14305, 2.31374, 2.39581, + 0.790056, 1.42106, 1.94573, 2.02523, 2.25492, 2.38411, + 0.782642, 1.67814, 1.92831, 1.98015, 2.1697, 2.29002, + 0.79594, 1.40966, 1.7678, 1.89476, 2.19165, 2.28019, + 0.832117, 1.16909, 1.82801, 1.91103, 2.22865, 2.36616, + 0.862231, 1.1894, 1.75495, 1.92413, 2.31213, 2.41255, + 1.03477, 1.29047, 1.7835, 1.99616, 2.34376, 2.46273, + 1.13581, 1.35879, 1.78919, 1.98063, 2.37636, 2.49584, + 1.3039, 1.415, 1.78751, 1.91844, 2.43546, 2.54775, + 1.48925, 1.59296, 1.85058, 1.95005, 2.42804, 2.57134, + 1.63147, 1.74264, 1.88788, 1.99493, 2.49377, 2.61966, + 1.68385, 1.80038, 1.92661, 2.06405, 2.50915, 2.59263, + 1.74531, 1.85426, 1.98854, 2.11714, 2.50431, 2.61134, + 1.76427, 1.89058, 2.03799, 2.1743, 2.50772, 2.60061, + 1.68017, 1.81737, 1.93711, 2.22898, 2.55014, 2.62331, + 1.55262, 1.81946, 1.95732, 2.26349, 2.51728, 2.58051, + 1.55842, 1.78491, 2.02149, 2.23937, 2.54371, 2.63746, + 1.24066, 1.73929, 1.88981, 2.10508, 2.53244, 2.61823, + 0.928972, 1.44027, 1.76926, 1.85335, 2.40041, 2.63688, + 1.05577, 1.48884, 1.75607, 1.83257, 2.20968, 2.65031, + 1.0133, 1.38103, 1.70409, 1.77271, 2.15549, 2.58513, + 1.00919, 1.33324, 1.74138, 1.8465, 2.15877, 2.51776, + 1.00638, 1.5199, 1.81375, 1.91629, 2.40767, 2.58185, + 1.35773, 1.53055, 1.88364, 2.14151, 2.46327, 2.61463, + 1.42682, 1.56088, 1.88252, 2.17521, 2.48835, 2.6287, + 1.31598, 1.57984, 1.85956, 2.08348, 2.41988, 2.56465, + 1.21305, 1.5389, 1.80025, 1.88207, 2.34157, 2.57461, + 1.27506, 1.54351, 1.9171, 2.12745, 2.38894, 2.54272, + 1.43894, 1.69814, 1.85661, 2.07519, 2.26671, 2.43737, + 1.45433, 1.66376, 1.86982, 2.01141, 2.36627, 2.53339, + 1.38217, 1.67292, 1.82744, 1.94203, 2.45391, 2.55986, + 1.40066, 1.58545, 1.84133, 2.00274, 2.427, 2.51776, + 1.38214, 1.68809, 1.81976, 2.06315, 2.41779, 2.49255, + 1.2551, 1.60338, 1.75391, 2.04757, 2.45556, 2.56959, + 1.13478, 1.40915, 1.70528, 1.80211, 2.48803, 2.64714, + 1.11188, 1.26013, 1.67605, 1.77849, 2.50159, 2.627, + 1.06035, 1.20881, 1.66035, 1.77686, 2.48876, 2.60446, + 0.94712, 1.16465, 1.64204, 1.72379, 2.47516, 2.56741, + 0.902077, 1.2512, 1.66403, 1.76901, 2.499, 2.5767, + 0.92017, 1.24389, 1.70968, 1.79499, 2.53435, 2.62383, + 0.93877, 1.26768, 1.72586, 1.87016, 2.54951, 2.6282, + 0.914357, 1.25432, 1.71291, 1.78474, 2.59043, 2.70748, + 0.930246, 1.28124, 1.80279, 1.87886, 2.56022, 2.68722, + 0.95535, 1.14867, 1.81473, 1.90259, 2.55782, 2.68459, + 0.96833, 1.09859, 1.81344, 1.91188, 2.46314, 2.64649, + 0.990311, 1.18544, 1.86467, 1.94159, 2.48811, 2.66446, + 1.1869, 1.59093, 1.95416, 2.0337, 2.59786, 2.66218, + 1.30264, 1.69442, 1.99744, 2.16905, 2.61741, 2.69308, + 1.37926, 1.71828, 1.99322, 2.2122, 2.54373, 2.64086, + 1.40516, 1.78053, 1.99789, 2.15115, 2.55578, 2.63222, + 1.29777, 1.87826, 2.02027, 2.19057, 2.54647, 2.61734, + 1.44216, 1.85664, 2.10104, 2.29971, 2.56148, 2.64412, + 1.37017, 1.78121, 2.11499, 2.25182, 2.44675, 2.54984, + 1.40345, 1.70357, 2.0793, 2.2214, 2.44877, 2.59398, + 1.41335, 1.64917, 2.00998, 2.15916, 2.51868, 2.61514, + 1.32666, 1.71994, 1.95044, 2.02547, 2.52107, 2.63595, + 1.38595, 1.55275, 1.85678, 1.93751, 2.49665, 2.58016, + 1.34541, 1.48801, 1.88554, 2.01719, 2.54687, 2.6256, + 1.33572, 1.42021, 1.78707, 1.97684, 2.50133, 2.64355, + 1.3038, 1.40827, 1.80145, 1.90147, 2.37505, 2.57595, + 1.31291, 1.40809, 1.83798, 1.95009, 2.31854, 2.4759, + 1.19361, 1.29364, 1.81906, 1.97449, 2.46808, 2.58528, + 1.19153, 1.31147, 1.71163, 1.85459, 2.39504, 2.55402, + 1.10318, 1.33217, 1.71792, 1.85799, 2.34029, 2.44522, + 0.996011, 1.23417, 1.75102, 1.86827, 2.28588, 2.40672, + 1.05531, 1.37824, 1.71212, 1.84167, 2.2067, 2.44054, + 1.07861, 1.46591, 1.78701, 1.94898, 2.23174, 2.47898, + 0.98452, 1.42059, 1.8153, 1.92522, 2.26343, 2.43094, + 0.984574, 1.49518, 1.77419, 1.96413, 2.22166, 2.34685, + 1.15484, 1.5072, 1.8121, 1.94937, 2.28174, 2.4261, + 1.17006, 1.42938, 1.74509, 1.93793, 2.23502, 2.37477, + 1.20649, 1.48753, 1.7673, 2.00984, 2.20705, 2.33947, + 1.07366, 1.37773, 1.82868, 1.993, 2.13061, 2.25678, + 1.08845, 1.49539, 1.90777, 1.99687, 2.2139, 2.39049, + 1.12298, 1.42221, 1.86583, 2.03711, 2.25375, 2.41839, + 1.13417, 1.38264, 1.80424, 1.9632, 2.16117, 2.4736, + 1.2454, 1.55261, 1.96081, 2.13469, 2.4536, 2.57754, + 1.1187, 1.56721, 1.95262, 2.17652, 2.44663, 2.57856, + 1.14171, 1.6436, 2.01334, 2.27743, 2.55738, 2.63478, + 1.39251, 1.80792, 2.03934, 2.23792, 2.57802, 2.66829, + 1.43321, 1.83371, 2.02062, 2.25218, 2.51864, 2.60086, + 1.37926, 1.71223, 2.025, 2.24296, 2.51553, 2.60248, + 1.36698, 1.67564, 1.97659, 2.19947, 2.51697, 2.59881, + 1.35276, 1.80187, 2.03361, 2.18194, 2.49138, 2.58988, + 1.32366, 1.74357, 2.00964, 2.1227, 2.47452, 2.56638, + 1.19009, 1.54054, 1.93307, 2.08808, 2.50673, 2.57061, + 1.51983, 1.76619, 1.906, 2.07675, 2.26142, 2.40768, + 1.53469, 1.71407, 2.01648, 2.1309, 2.32326, 2.45761, + 1.52205, 1.79476, 2.05095, 2.21828, 2.40801, 2.53773, + 1.66536, 1.90687, 2.02566, 2.23238, 2.43013, 2.55064, + 1.6663, 1.83465, 1.99804, 2.22024, 2.40151, 2.50239, + 1.52361, 1.73009, 1.86296, 2.1646, 2.46626, 2.54923, + 1.21612, 1.50347, 1.76046, 1.96747, 2.38172, 2.56435, + 1.17113, 1.42943, 1.61663, 1.91778, 2.38793, 2.47727, + 1.0913, 1.35137, 1.56866, 1.7962, 2.43759, 2.51487, + 1.00128, 1.38691, 1.5396, 1.77505, 2.41327, 2.48215, + 0.952227, 1.39731, 1.52793, 1.72252, 2.44275, 2.49237, + 0.824979, 1.38889, 1.56898, 1.73526, 2.40875, 2.47118, + 0.794444, 1.43306, 1.58885, 1.74958, 2.48937, 2.57636, + 0.899067, 1.52185, 1.6814, 1.78029, 2.44175, 2.50829, + 0.922249, 1.46461, 1.59253, 1.82844, 2.41816, 2.47726, + 0.871556, 1.44442, 1.53832, 1.88901, 2.35369, 2.41254, + 0.857823, 1.27025, 1.50127, 1.76026, 2.35576, 2.4073, + 0.846263, 1.17661, 1.48198, 1.61417, 2.36993, 2.48569, + 0.882414, 1.17609, 1.37797, 1.49739, 2.38001, 2.51651, + 0.938718, 1.10065, 1.48911, 1.57621, 2.32557, 2.54347, + 0.932462, 1.10559, 1.29435, 1.47096, 2.40012, 2.55472, + 0.945253, 1.161, 1.30388, 1.58026, 2.46668, 2.58461, + 1.01832, 1.21474, 1.33058, 1.68375, 2.48296, 2.55716, + 1.04824, 1.17548, 1.2581, 1.59909, 2.52145, 2.6425, + 1.07374, 1.20351, 1.2987, 1.68876, 2.55568, 2.61447, + 1.09679, 1.26086, 1.3686, 1.75534, 2.49303, 2.60645, + 1.10564, 1.22703, 1.40439, 1.8497, 2.52331, 2.60157, + 1.14386, 1.26939, 1.38734, 1.82908, 2.39517, 2.49646, + 1.09925, 1.22861, 1.34441, 1.66442, 2.44063, 2.51807, + 1.11618, 1.22832, 1.33295, 1.66731, 2.33167, 2.51226, + 1.20152, 1.29939, 1.47847, 1.57791, 2.00331, 2.45158, + 1.16799, 1.29273, 1.47073, 1.81462, 2.14096, 2.43615, + 1.28052, 1.42488, 1.59521, 1.80388, 2.20583, 2.31538, + 1.23016, 1.36494, 1.61044, 2.00251, 2.17287, 2.35572, + 1.30255, 1.40061, 1.73433, 2.074, 2.20855, 2.38927, + 1.51269, 1.81823, 2.14478, 2.26692, 2.44774, 2.56939, + 1.50753, 1.76042, 2.16423, 2.27687, 2.47949, 2.62484, + 1.44651, 1.76044, 2.1147, 2.2567, 2.57257, 2.66147, + 1.46887, 1.81236, 2.11457, 2.19302, 2.61774, 2.71384, + 1.44965, 1.77645, 2.0806, 2.21016, 2.54091, 2.71399, + 1.44125, 1.71952, 2.11461, 2.21869, 2.5113, 2.66005, + 1.47766, 1.61984, 2.1127, 2.1987, 2.5206, 2.6557, + 1.53287, 1.71815, 2.13263, 2.2223, 2.55144, 2.66573, + 1.34103, 1.81458, 2.12504, 2.24586, 2.54798, 2.64959, + 1.36191, 1.69809, 2.07692, 2.25511, 2.52488, 2.64704, + 1.31533, 1.59277, 2.10978, 2.21019, 2.51775, 2.66697, + 1.3828, 1.57159, 2.10684, 2.20406, 2.4952, 2.66142, + 1.45363, 1.64175, 2.10031, 2.19937, 2.4624, 2.60888, + 1.3761, 1.64657, 1.98719, 2.21841, 2.41362, 2.52681, + 1.37284, 1.63246, 2.05624, 2.16372, 2.37619, 2.58687, + 1.43261, 1.62463, 2.07417, 2.11989, 2.48066, 2.66903, + 1.41068, 1.6628, 2.06922, 2.13037, 2.58137, 2.714, + 1.17413, 1.52452, 2.03205, 2.10525, 2.50238, 2.65331, + 1.15083, 1.24978, 2.00479, 2.15823, 2.31798, 2.58817, + 1.05764, 1.19972, 2.04367, 2.16548, 2.37102, 2.60817, + 1.07033, 1.16919, 2.05106, 2.1872, 2.47645, 2.67133, + 0.989962, 1.10088, 1.95972, 2.10766, 2.45186, 2.65933, + 0.995945, 1.12508, 1.96773, 2.17105, 2.35276, 2.58638, + 0.951054, 1.07341, 1.76868, 2.2131, 2.36251, 2.50427, + 0.912647, 1.06363, 1.87431, 2.20935, 2.34779, 2.51505, + 0.880146, 1.0577, 1.93951, 2.2982, 2.44787, 2.55972, + 0.808391, 0.999903, 1.78946, 2.22109, 2.38324, 2.5121, + 0.872797, 1.05131, 1.90798, 2.34589, 2.55144, 2.62038, + 0.736864, 0.925226, 2.10155, 2.27386, 2.39295, 2.56886, + 0.704727, 1.0262, 2.09473, 2.21249, 2.47416, 2.6562, + 0.793545, 1.02948, 1.90102, 2.33368, 2.65025, 2.72142, + 0.890709, 1.27007, 2.13985, 2.23832, 2.54438, 2.71132, + 0.971655, 1.31769, 2.24547, 2.35109, 2.63196, 2.71126, + 1.08079, 1.55577, 2.01062, 2.24599, 2.52841, 2.64489, + 1.40951, 1.76932, 2.1067, 2.28426, 2.51225, 2.63834, + 1.24844, 1.66199, 2.03514, 2.28324, 2.53429, 2.64733, + 0.95246, 1.1238, 2.10348, 2.25807, 2.39474, 2.60457, + 0.989645, 1.18166, 2.02343, 2.23737, 2.36952, 2.52253, + 0.926042, 1.34812, 1.94934, 2.06208, 2.34696, 2.44908, + 0.919696, 1.4053, 1.83405, 2.0997, 2.37621, 2.49339, + 1.00081, 1.37165, 1.83665, 2.2241, 2.41011, 2.5393, + 1.20009, 1.43679, 1.83915, 2.17928, 2.39885, 2.49843, + 1.22352, 1.48641, 1.94399, 2.25226, 2.40733, 2.54068, + 1.11367, 1.47721, 1.84416, 2.21801, 2.38133, 2.48688, + 1.13811, 1.49875, 1.98095, 2.29747, 2.45785, 2.56077, + 1.14615, 1.61454, 1.8989, 2.23248, 2.41657, 2.51096, + 1.11967, 1.58992, 1.82441, 2.11191, 2.35476, 2.45328, + 1.03204, 1.58942, 1.85285, 2.14299, 2.324, 2.47294, + 0.989427, 1.52898, 1.91464, 2.17919, 2.37674, 2.49437, + 1.09575, 1.49456, 1.86612, 2.13681, 2.28371, 2.46406, + 0.834557, 1.46372, 1.88257, 2.15093, 2.37864, 2.46309, + 0.835589, 1.29607, 1.77137, 2.09878, 2.28624, 2.42638, + 0.806577, 1.40333, 1.68522, 2.04095, 2.23574, 2.3564, + 0.800011, 1.38309, 1.81416, 1.95993, 2.30958, 2.38679, + 0.804745, 1.31821, 1.82136, 1.9087, 2.23513, 2.42714, + 0.895849, 1.36723, 1.86481, 1.97967, 2.32424, 2.42079, + 0.82739, 1.42508, 1.76716, 2.05819, 2.37623, 2.46943, + 0.917915, 1.49792, 1.85534, 1.98721, 2.31538, 2.45164, + 0.940855, 1.40956, 1.78919, 1.98853, 2.33667, 2.53469, + 0.972711, 1.2917, 1.78694, 1.91488, 2.32326, 2.40549, + 0.993281, 1.36882, 1.80724, 1.95862, 2.35727, 2.45928, + 1.07469, 1.34931, 1.84084, 1.95484, 2.26908, 2.38406, + 1.1006, 1.21857, 1.75613, 1.90019, 2.27787, 2.40621, + 1.16562, 1.31369, 1.8437, 1.96222, 2.1571, 2.34291, + 1.15777, 1.37236, 1.87996, 1.99193, 2.25808, 2.39087, + 1.28609, 1.78099, 1.9597, 2.11887, 2.32454, 2.43759, + 1.45517, 1.73815, 2.09889, 2.23501, 2.42846, 2.53971, + 1.50025, 1.68426, 2.161, 2.27259, 2.39908, 2.51033, + 1.48567, 1.8464, 2.19572, 2.30566, 2.54628, 2.65059, + 1.72782, 2.01371, 2.16728, 2.30421, 2.58661, 2.65216, + 1.67677, 1.96053, 2.21701, 2.36881, 2.59828, 2.68162, + 1.63196, 1.91575, 2.22704, 2.33518, 2.6031, 2.71022, + 1.66386, 1.97302, 2.12471, 2.22235, 2.66048, 2.72432, + 1.54201, 1.92958, 2.0756, 2.17063, 2.62855, 2.70775, + 1.50969, 1.70605, 2.05691, 2.19767, 2.57833, 2.6539, + 1.48207, 1.67373, 2.13105, 2.19487, 2.58632, 2.69029, + 1.42345, 1.64327, 2.09232, 2.17894, 2.5272, 2.63675, + 1.35515, 1.56517, 2.02393, 2.23649, 2.53832, 2.65549, + 1.32842, 1.55398, 2.08156, 2.16192, 2.47274, 2.65693, + 1.33076, 1.41904, 2.02671, 2.12905, 2.368, 2.57102, + 1.27065, 1.37759, 2.02595, 2.14013, 2.38924, 2.57594, + 1.23682, 1.34543, 2.02239, 2.10985, 2.47813, 2.63391, + 1.22208, 1.32043, 1.93967, 2.02174, 2.43681, 2.62853, + 1.25217, 1.35827, 1.97262, 2.07935, 2.37145, 2.59893, + 1.26623, 1.4702, 1.93045, 2.14581, 2.47186, 2.61815, + 1.33228, 1.54641, 2.02572, 2.21952, 2.46462, 2.64511, + 1.4186, 1.64948, 2.00831, 2.12811, 2.48988, 2.67687, + 1.45568, 1.68468, 1.98898, 2.15265, 2.4704, 2.65153, + 1.44749, 1.60065, 1.9359, 2.27176, 2.51299, 2.63183, + 1.44477, 1.55636, 2.02038, 2.28232, 2.47577, 2.61234, + 1.38748, 1.48741, 2.02468, 2.24466, 2.44505, 2.58283, + 1.35392, 1.44328, 1.95756, 2.17131, 2.33611, 2.56008, + 1.36979, 1.44771, 2.00618, 2.19142, 2.40471, 2.60473, + 1.42596, 1.50428, 2.07231, 2.17818, 2.41766, 2.60341, + 1.44024, 1.5405, 2.0824, 2.21198, 2.37707, 2.63732, + 1.49701, 1.58268, 2.05652, 2.17217, 2.38928, 2.59384, + 1.50496, 1.58456, 1.98409, 2.14933, 2.36756, 2.55972, + 1.51904, 1.60399, 1.9938, 2.10993, 2.32726, 2.59969, + 1.56956, 1.65105, 1.98894, 2.11673, 2.34577, 2.56992, + 1.56989, 1.68368, 1.98057, 2.18292, 2.35723, 2.58728, + 1.60707, 1.7127, 1.95147, 2.12568, 2.30717, 2.54725, + 1.64523, 1.7366, 1.95236, 2.13149, 2.37622, 2.60646, + 1.66961, 1.76398, 1.97965, 2.17323, 2.33235, 2.51667, + 1.63244, 1.75887, 1.9808, 2.12427, 2.2859, 2.44383, + 1.55741, 1.6677, 1.90206, 2.10693, 2.26086, 2.48392, + 1.47042, 1.68895, 1.84638, 2.03283, 2.18513, 2.37587, + 1.42194, 1.53148, 1.82567, 2.02659, 2.18038, 2.36012, + 1.38564, 1.60616, 1.84636, 2.07139, 2.4885, 2.60745, + 1.35971, 1.57766, 1.8971, 2.11196, 2.47111, 2.603, + 1.33945, 1.54264, 1.93397, 2.13374, 2.45491, 2.58319, + 1.32581, 1.69176, 2.08023, 2.16421, 2.47416, 2.60522, + 1.34715, 1.6247, 2.07411, 2.2144, 2.43059, 2.56295, + 1.31486, 1.54184, 1.96763, 2.16414, 2.37269, 2.60652, + 1.3129, 1.53408, 1.91728, 2.08995, 2.41161, 2.57067, + 1.28302, 1.5574, 1.93788, 2.10334, 2.52062, 2.6237, + 1.13883, 1.33747, 1.87109, 1.97275, 2.43348, 2.64765, + 1.15594, 1.28112, 1.83135, 1.91924, 2.2666, 2.60094, + 1.16684, 1.27382, 1.8432, 1.94603, 2.31838, 2.57879, + 1.17229, 1.27501, 1.83258, 2.02592, 2.35381, 2.62469, + 1.08216, 1.26544, 1.89236, 1.98901, 2.38316, 2.60142, + 1.0919, 1.20882, 1.83501, 2.03446, 2.39472, 2.5629, + 1.09883, 1.19949, 1.75765, 2.06589, 2.3904, 2.57889, + 1.1328, 1.24439, 1.87662, 2.07155, 2.33918, 2.53792, + 1.1806, 1.25947, 1.82316, 2.09506, 2.2569, 2.54272, + 1.18699, 1.31291, 1.80079, 2.10504, 2.36699, 2.49608, + 1.26639, 1.37714, 1.81043, 2.11327, 2.32962, 2.53315, + 1.32359, 1.40452, 1.90424, 2.14593, 2.38611, 2.58094, + 1.35217, 1.4514, 1.94982, 2.07705, 2.39082, 2.53857, + 1.34386, 1.45223, 1.88989, 2.02674, 2.31748, 2.48249, + 1.24481, 1.37885, 1.79256, 1.98674, 2.42257, 2.53695, + 1.12462, 1.2536, 1.70382, 1.95132, 2.43964, 2.54515, + 0.995104, 1.41175, 1.72851, 1.86164, 2.4566, 2.54496, + 1.00107, 1.40911, 1.79773, 1.89757, 2.40948, 2.55532, + 1.03398, 1.42816, 1.78694, 1.88029, 2.32636, 2.50316, + 0.970169, 1.32072, 1.71664, 1.84157, 2.2202, 2.38892, + 0.930477, 1.37338, 1.7984, 1.90473, 2.30579, 2.5253, + 0.939935, 1.41846, 1.7727, 1.87809, 2.36749, 2.46153, + 0.949116, 1.52711, 1.7659, 1.84073, 2.16493, 2.47434, + 0.993353, 1.62934, 1.81344, 1.91022, 2.10077, 2.4929, + 1.01383, 1.54962, 1.79683, 1.89194, 2.23976, 2.55635, + 0.970121, 1.5098, 1.83401, 1.93898, 2.33857, 2.50435, + 0.947238, 1.36138, 1.78355, 1.98471, 2.4239, 2.54718, + 0.980991, 1.38878, 1.78331, 2.13171, 2.45463, 2.55869, + 1.00267, 1.40234, 1.80719, 2.02446, 2.46442, 2.55428, + 1.0107, 1.40419, 1.87256, 2.07936, 2.47933, 2.56962, + 0.972976, 1.3758, 1.84337, 1.9807, 2.51361, 2.57827, + 0.932062, 1.27768, 1.85113, 1.98588, 2.46629, 2.56626, + 0.938577, 1.18115, 1.83396, 1.96503, 2.45801, 2.55053, + 0.940095, 1.14545, 1.79669, 2.07827, 2.4829, 2.61063, + 0.909789, 1.07408, 1.7174, 2.13911, 2.46252, 2.57226, + 0.882446, 1.06665, 1.72956, 2.28466, 2.4789, 2.55502, + 0.938178, 1.1215, 1.82849, 2.23404, 2.47478, 2.5571, + 0.917165, 1.28307, 1.7795, 2.10029, 2.47583, 2.59018, + 1.06294, 1.34904, 1.76276, 2.1183, 2.50481, 2.60679, + 1.18696, 1.4619, 1.88904, 2.11274, 2.48132, 2.62131, + 1.48072, 1.61923, 1.97948, 2.1771, 2.43648, 2.57898, + 1.44872, 1.56634, 1.88013, 2.13853, 2.33968, 2.55459, + 1.40799, 1.61355, 1.82893, 2.0527, 2.3445, 2.53808, + 1.61602, 1.69101, 1.85635, 1.98008, 2.54825, 2.63776, + 1.62817, 1.68416, 1.88615, 2.01287, 2.56377, 2.62158, + 1.59574, 1.68801, 1.9354, 2.02581, 2.48363, 2.61682, + 1.64156, 1.70866, 1.95546, 2.04699, 2.51983, 2.64574, + 1.67367, 1.75221, 1.95129, 2.08092, 2.48739, 2.64072, + 1.65642, 1.73624, 1.99136, 2.09832, 2.57191, 2.67683, + 1.65982, 1.73245, 1.95125, 2.07702, 2.58164, 2.69352, + 1.6548, 1.71621, 1.96664, 2.04423, 2.56325, 2.6802, + 1.60273, 1.68261, 1.91741, 1.99483, 2.53109, 2.67329, + 1.58255, 1.63953, 1.9261, 1.99207, 2.53207, 2.69711, + 1.46237, 1.585, 1.8183, 1.89755, 2.55713, 2.70626, + 1.4532, 1.55073, 1.81519, 1.91646, 2.39997, 2.66768, + 1.41939, 1.55772, 1.78444, 1.90918, 2.51138, 2.66998, + 1.39516, 1.53982, 1.84748, 1.93084, 2.58396, 2.70362, + 1.34885, 1.61088, 1.95815, 2.04307, 2.58609, 2.66435, + 1.37239, 1.65814, 1.95866, 2.18944, 2.45048, 2.65032, + 1.35259, 1.52809, 1.92314, 2.19484, 2.42773, 2.56214, + 1.38093, 1.61227, 1.99338, 2.17611, 2.50893, 2.63506, + 1.42958, 1.68659, 2.01713, 2.17256, 2.48642, 2.60927, + 1.39212, 1.64104, 1.95208, 2.06507, 2.42122, 2.57491, + 1.39959, 1.78826, 1.95209, 2.09858, 2.48993, 2.62939, + 1.38376, 1.66244, 1.9831, 2.11224, 2.5328, 2.63181, + 1.37273, 1.67362, 1.91212, 2.13425, 2.433, 2.61228, + 1.39603, 1.64262, 1.96263, 2.19739, 2.52132, 2.66069, + 1.37936, 1.62399, 2.0694, 2.24312, 2.56203, 2.66844, + 1.33867, 1.61863, 2.04204, 2.19512, 2.57016, 2.6991, + 1.29412, 1.71208, 2.05016, 2.12013, 2.60784, 2.68169, + 1.29325, 1.59625, 1.99341, 2.06004, 2.58308, 2.66414, + 1.20992, 1.36267, 1.95512, 2.02835, 2.51296, 2.6258, + 1.3817, 1.70662, 2.00317, 2.14647, 2.50003, 2.61301, + 1.20467, 1.73456, 1.9288, 2.10969, 2.4769, 2.54909, + 1.11449, 1.69632, 1.88882, 2.04367, 2.53927, 2.63717, + 1.11931, 1.60146, 1.84673, 2.08566, 2.57754, 2.64535, + 1.12875, 1.53118, 1.85828, 2.14677, 2.59635, 2.68872, + 1.13025, 1.67465, 1.83066, 2.17211, 2.56255, 2.67283, + 1.10077, 1.64441, 1.83323, 2.04061, 2.59933, 2.65229, + 1.06697, 1.5306, 1.76863, 2.00332, 2.61732, 2.67806, + 1.06312, 1.46936, 1.79782, 1.88185, 2.56819, 2.67915, + 1.17729, 1.70328, 1.86551, 2.06104, 2.48107, 2.58144, + 1.40413, 1.6575, 1.92706, 2.18185, 2.45741, 2.58043, + 1.42836, 1.66354, 1.98499, 2.18345, 2.45866, 2.56949, + 1.4032, 1.66715, 1.95509, 2.14645, 2.46264, 2.56266, + 1.23413, 1.59785, 1.91775, 2.03444, 2.40755, 2.56026, + 1.22453, 1.36863, 1.84807, 1.92472, 2.49495, 2.67021, + 1.21477, 1.58834, 1.76581, 2.00386, 2.52678, 2.63596, + 1.26488, 1.63647, 1.82522, 2.07706, 2.56349, 2.67929, + 1.26961, 1.58898, 1.78218, 2.09502, 2.62041, 2.69179, + 1.29641, 1.50434, 1.80291, 2.01338, 2.60569, 2.68162, + 1.33438, 1.52077, 1.79661, 1.96388, 2.60042, 2.70374, + 1.39757, 1.60058, 1.84597, 1.94012, 2.61622, 2.69611, + 1.43088, 1.55907, 1.79924, 1.99405, 2.59895, 2.6747, + 1.48212, 1.58304, 1.80751, 1.98143, 2.57538, 2.68473, + 1.46434, 1.56562, 1.77603, 1.91763, 2.575, 2.65927, + 1.4554, 1.53823, 1.73066, 1.88207, 2.56375, 2.66044, + 1.49958, 1.58442, 1.68807, 1.89207, 2.5871, 2.68867, + 1.47976, 1.5737, 1.69519, 2.02444, 2.55818, 2.63904, + 1.45227, 1.54712, 1.75057, 2.07203, 2.53701, 2.67379, + 1.44738, 1.56304, 1.79438, 2.14163, 2.35339, 2.50255, + 1.35172, 1.45071, 1.73023, 1.99189, 2.29835, 2.46355, + 1.31876, 1.41462, 1.64199, 1.94834, 2.32625, 2.47429, + 1.21205, 1.34623, 1.6851, 1.95989, 2.32224, 2.51295, + 1.20902, 1.30295, 1.63462, 1.93085, 2.28291, 2.50754, + 1.18895, 1.29282, 1.66566, 2.17785, 2.37356, 2.47429, + 1.25754, 1.45115, 1.83601, 2.16148, 2.44729, 2.59664, + 1.25342, 1.3702, 1.83372, 2.24474, 2.47977, 2.57602, + 1.17995, 1.30201, 1.59215, 2.15158, 2.45596, 2.51812, + 1.11448, 1.25765, 1.41158, 2.04236, 2.54829, 2.62041, + 1.09999, 1.30707, 1.40717, 2.15942, 2.58591, 2.64936, + 1.13115, 1.24686, 1.40128, 2.1166, 2.48376, 2.54666, + 1.17377, 1.34087, 1.4499, 2.0937, 2.56103, 2.62648, + 1.18957, 1.3462, 1.46559, 2.00354, 2.51775, 2.5757, + 1.21797, 1.30299, 1.56949, 2.02897, 2.45573, 2.55014, + 1.23191, 1.39323, 1.52046, 1.95573, 2.47623, 2.64224, + 1.27718, 1.45114, 1.59102, 1.92599, 2.45809, 2.56656, + 1.21624, 1.48312, 1.68868, 1.98897, 2.45463, 2.59962, + 1.18429, 1.55304, 1.83889, 2.10027, 2.38501, 2.55005, + 1.23917, 1.79282, 1.95907, 2.1826, 2.44529, 2.52957, + 1.62457, 1.86085, 2.12033, 2.21992, 2.42941, 2.5941, + 1.75324, 1.88933, 2.13652, 2.25457, 2.43633, 2.56246, + 1.75727, 1.95692, 2.24234, 2.36011, 2.49374, 2.58763, + 1.80684, 1.9852, 2.19776, 2.33868, 2.49634, 2.60068, + 1.85991, 2.03042, 2.28254, 2.396, 2.54859, 2.63263, + 1.7711, 1.89613, 2.30676, 2.42126, 2.53834, 2.62596, + 1.50565, 1.89323, 2.01933, 2.32579, 2.48797, 2.58553, + 1.18914, 1.7711, 1.91507, 2.25487, 2.53443, 2.61278, + 1.104, 1.64935, 1.83499, 1.93594, 2.53413, 2.652, + 1.07901, 1.52244, 1.76728, 1.93497, 2.52313, 2.59639, + 1.10621, 1.60804, 1.75144, 2.00839, 2.49173, 2.57715, + 1.22513, 1.59727, 1.85783, 2.10361, 2.46542, 2.59305, + 1.37537, 1.61836, 1.93052, 2.21445, 2.44556, 2.5762, + 1.42999, 1.69897, 1.98214, 2.23334, 2.49044, 2.60535, + 1.4828, 1.67946, 1.99776, 2.2224, 2.46458, 2.58682, + 1.408, 1.67664, 1.97085, 2.22109, 2.44036, 2.59243, + 1.2799, 1.6188, 1.92099, 2.16109, 2.43881, 2.62742, + 0.936959, 1.31029, 1.66337, 2.0101, 2.51599, 2.59778, + 1.01466, 1.40151, 1.59008, 2.08087, 2.55691, 2.62215, + 1.04365, 1.38457, 1.5715, 1.98823, 2.56866, 2.64789, + 1.10727, 1.41397, 1.56206, 1.87714, 2.55472, 2.63729, + 1.17948, 1.46739, 1.605, 1.839, 2.52348, 2.6405, + 1.21832, 1.41202, 1.59163, 1.79653, 2.5198, 2.66057, + 1.30537, 1.42738, 1.61458, 1.76369, 2.49727, 2.65779, + 1.33854, 1.45634, 1.6422, 1.86235, 2.44879, 2.63162, + 1.32868, 1.44222, 1.57523, 1.85891, 2.47066, 2.57043, + 1.35122, 1.46628, 1.60143, 1.86374, 2.42525, 2.50034, + 1.36091, 1.47648, 1.62462, 1.83211, 2.48627, 2.56333, + 1.40173, 1.49988, 1.6134, 1.74973, 2.42322, 2.59141, + 1.26155, 1.40299, 1.52378, 1.80204, 2.49974, 2.60553, + 1.16, 1.46705, 1.6056, 1.78769, 2.50805, 2.55736, + 1.27952, 1.53509, 1.62057, 1.75862, 2.40962, 2.67642, + 1.16136, 1.50546, 1.6262, 1.7331, 2.39883, 2.61748, + 1.18463, 1.52853, 1.61429, 1.69821, 2.35034, 2.6671, + 1.11735, 1.53807, 1.65845, 1.75962, 2.28126, 2.58068, + 1.10984, 1.49283, 1.70197, 1.78983, 2.15124, 2.48973, + 1.01023, 1.46712, 1.63109, 1.88642, 2.42002, 2.52278, + 0.950861, 1.33689, 1.617, 1.78955, 2.44962, 2.52889, + 1.02847, 1.3481, 1.57189, 1.88039, 2.54391, 2.60801, + 1.11075, 1.41566, 1.69055, 2.00551, 2.55818, 2.6501, + 1.11015, 1.43266, 1.6694, 1.90159, 2.51693, 2.60274, + 1.06783, 1.54338, 1.71944, 1.979, 2.54367, 2.61757, + 1.42254, 1.70106, 1.94043, 2.32706, 2.55761, 2.64296, + 1.38612, 1.78193, 2.04068, 2.38389, 2.57395, 2.63346, + 1.51277, 1.69633, 2.1845, 2.29598, 2.57899, 2.67726, + 1.57185, 1.70524, 2.22523, 2.31919, 2.5426, 2.67616, + 1.51491, 1.84429, 2.24734, 2.36159, 2.52907, 2.6533, + 1.60358, 1.94842, 2.27181, 2.4296, 2.52821, 2.61773, + 1.62041, 2.02418, 2.37902, 2.47798, 2.62296, 2.67076, + 1.57882, 1.90635, 2.23831, 2.37884, 2.55696, 2.64712, + 1.61114, 1.90067, 2.18578, 2.31738, 2.51701, 2.61014, + 1.55461, 1.94143, 2.13305, 2.24986, 2.49176, 2.57161, + 1.46962, 1.9189, 2.09418, 2.22518, 2.49035, 2.56434, + 1.33537, 1.69721, 2.01709, 2.23232, 2.47434, 2.57102, + 1.22194, 1.51906, 1.81406, 2.1294, 2.45829, 2.56013, + 1.19335, 1.42604, 1.73164, 2.00909, 2.48569, 2.5661, + 1.14086, 1.30414, 1.72407, 1.96212, 2.45682, 2.67358, + 1.17199, 1.317, 1.75694, 2.05081, 2.52062, 2.67935, + 1.13514, 1.41021, 1.71529, 2.0926, 2.49945, 2.61771, + 1.11453, 1.48721, 1.5954, 2.01378, 2.53196, 2.6284, + 1.18516, 1.39989, 1.58265, 2.19579, 2.51838, 2.58247, + 1.10455, 1.42368, 1.65629, 2.26253, 2.59319, 2.66401, + 1.1643, 1.59699, 1.71775, 2.20785, 2.56315, 2.6214, + 1.02259, 1.59646, 1.83176, 2.28798, 2.51904, 2.58042, + 0.920067, 1.6565, 1.82922, 2.20717, 2.5356, 2.58254, + 0.940069, 1.57744, 1.96057, 2.18925, 2.48282, 2.54933, + 0.824619, 1.70849, 1.93223, 2.18861, 2.55188, 2.60548, + 0.819752, 1.68897, 1.95061, 2.08345, 2.46319, 2.51587, + 0.820934, 1.71848, 2.02163, 2.15842, 2.52112, 2.57629, + 0.860984, 1.61569, 2.04686, 2.14622, 2.46989, 2.57106, + 0.7224, 1.64737, 1.97316, 2.0661, 2.43884, 2.60907, + 0.853506, 1.57795, 1.94985, 2.08284, 2.44874, 2.51242, + 0.745605, 1.46451, 1.99332, 2.07751, 2.46918, 2.53247, + 0.710718, 1.53369, 1.89005, 2.01388, 2.4256, 2.51639, + 0.877569, 1.51198, 1.8316, 2.0319, 2.44162, 2.51744, + 1.25962, 1.51952, 1.8797, 2.13883, 2.45029, 2.61407, + 1.32666, 1.6701, 1.91934, 2.14837, 2.36293, 2.46445, + 1.43771, 1.67164, 1.95505, 2.16671, 2.40595, 2.55752, + 1.60387, 1.74029, 1.98995, 2.19878, 2.46753, 2.58565, + 1.6385, 1.74325, 2.05109, 2.14971, 2.46263, 2.56933, + 1.63183, 1.72177, 2.00292, 2.13115, 2.43893, 2.56922, + 1.60316, 1.76319, 2.08219, 2.17477, 2.37672, 2.50226, + 1.63098, 1.70394, 2.00922, 2.14927, 2.36918, 2.58057, + 1.5766, 1.65869, 1.92294, 2.12495, 2.44873, 2.57827, + 1.51627, 1.63071, 1.8608, 2.12704, 2.4444, 2.58228, + 1.45888, 1.54763, 1.79608, 2.04697, 2.37806, 2.53559, + 1.37666, 1.51251, 1.73356, 2.09821, 2.36177, 2.45214, + 1.13475, 1.32018, 1.58255, 2.05289, 2.44906, 2.52706, + 1.07945, 1.16406, 1.57337, 2.22076, 2.5003, 2.56093, + 1.06047, 1.18642, 1.45666, 2.15579, 2.437, 2.5269, + 0.974645, 1.13281, 1.56353, 2.08986, 2.50461, 2.57178, + 0.925733, 1.04903, 1.55569, 2.09544, 2.54168, 2.61417, + 1.01286, 1.15468, 1.28381, 2.12616, 2.55879, 2.59581, + 0.970704, 1.08889, 1.3988, 1.96967, 2.51746, 2.62149, + 0.99667, 1.1556, 1.28423, 1.96774, 2.47805, 2.53675, + 1.06187, 1.17276, 1.29685, 1.89013, 2.46531, 2.55049, + 0.971133, 1.1469, 1.42509, 1.82366, 2.3102, 2.51319, + 1.12232, 1.24695, 1.57393, 1.94586, 2.35067, 2.54611, + 1.13044, 1.2818, 1.71175, 2.05285, 2.47117, 2.56897, + 1.28579, 1.42518, 1.8744, 2.08523, 2.42611, 2.57699, + 1.27354, 1.49021, 1.87877, 2.10625, 2.40245, 2.54437, + 1.22424, 1.46248, 1.90461, 2.12819, 2.41656, 2.57002, + 1.25206, 1.44985, 1.80251, 2.11987, 2.41888, 2.5188, + 1.32712, 1.41759, 1.78996, 2.17493, 2.34065, 2.46871, + 1.34678, 1.43555, 1.73431, 2.03604, 2.35655, 2.53105, + 1.23582, 1.31596, 1.59712, 1.89787, 2.28422, 2.57595, + 0.955415, 1.30377, 1.56019, 1.73007, 2.44977, 2.64812, + 0.909089, 1.47167, 1.62448, 1.89097, 2.38965, 2.62795, + 0.919631, 1.36687, 1.50602, 1.84259, 2.342, 2.55449, + 0.855197, 1.27967, 1.53955, 1.68852, 2.38691, 2.50206, + 0.807057, 1.13562, 1.5416, 1.6813, 2.24391, 2.51087, + 0.849115, 1.19024, 1.44993, 1.54139, 2.30258, 2.6556, + 0.832569, 1.27336, 1.59248, 1.79281, 2.28417, 2.49848, + 0.835449, 1.16892, 1.54463, 1.71893, 2.42389, 2.63262, + 0.826578, 1.27619, 1.40786, 1.66029, 2.37804, 2.47453, + 0.873632, 1.36031, 1.50287, 1.75833, 2.5708, 2.71226, + 0.82832, 1.28463, 1.46241, 1.6242, 2.57586, 2.70561, + 0.86693, 1.13331, 1.25406, 1.42989, 2.49929, 2.56231, + 0.807119, 1.21808, 1.34601, 1.54062, 2.48761, 2.6331, + 0.98368, 1.14658, 1.33665, 1.47931, 2.32716, 2.61436, + 0.991742, 1.17073, 1.29617, 1.48561, 2.54305, 2.66382, + 0.857243, 1.17219, 1.29859, 1.6239, 2.58125, 2.67565, + 1.02446, 1.24516, 1.33583, 1.92396, 2.62349, 2.68982, + 1.03526, 1.29306, 1.41981, 1.88269, 2.47498, 2.67367, + 0.98116, 1.23984, 1.33455, 1.62845, 2.54405, 2.68174, + 0.948338, 1.22739, 1.3601, 1.57206, 2.44798, 2.66861, + 1.09712, 1.2561, 1.36219, 1.63254, 2.50779, 2.65642, + 1.06074, 1.284, 1.52793, 1.67627, 2.54094, 2.63814, + 0.999111, 1.2307, 1.53126, 1.64398, 2.37306, 2.63434, + 0.900037, 1.35716, 1.5199, 1.69115, 2.33345, 2.6059, + 0.906535, 1.20048, 1.61525, 1.71596, 2.28887, 2.60957, + 0.841267, 1.3377, 1.72119, 1.79912, 2.17636, 2.62724, + 0.950819, 1.50712, 1.71882, 1.82673, 2.05053, 2.48989, + 0.922437, 1.44759, 1.83206, 1.92051, 2.14899, 2.50957, + 0.797637, 1.12047, 1.75627, 1.94611, 2.20911, 2.53594, + 0.821846, 1.16874, 1.83791, 1.97773, 2.36161, 2.64241, + 0.802821, 1.39464, 1.94559, 2.03152, 2.33749, 2.58995, + 0.808599, 1.21429, 1.87853, 2.00233, 2.28022, 2.57778, + 0.825133, 1.3293, 1.89662, 1.97956, 2.45575, 2.5731, + 0.847939, 1.23595, 1.89729, 2.01661, 2.42221, 2.65115, + 0.793266, 1.31179, 1.88526, 1.97487, 2.49392, 2.69992, + 0.835729, 1.41812, 1.83973, 1.90323, 2.50796, 2.64513, + 0.84938, 1.4762, 1.83681, 1.97738, 2.32134, 2.5611, + 0.77457, 1.28461, 1.75819, 1.86442, 2.36773, 2.5612, + 0.896154, 1.46644, 1.77022, 1.87135, 2.58655, 2.68848, + 1.0978, 1.5765, 1.74232, 1.91022, 2.16067, 2.65845, + 0.95072, 1.45287, 1.76016, 1.93477, 2.19628, 2.62419, + 0.947778, 1.33478, 1.74561, 1.83051, 2.25611, 2.66786, + 0.970291, 1.21491, 1.74593, 1.84071, 2.26878, 2.55518, + 1.02748, 1.19305, 1.65541, 1.77056, 2.11599, 2.50296, + 1.10863, 1.22404, 1.55642, 1.7059, 2.01907, 2.46382, + 1.13733, 1.24864, 1.6599, 1.836, 2.0873, 2.49402, + 1.19278, 1.29031, 1.65286, 1.87863, 2.08608, 2.61596, + 1.23183, 1.34329, 1.52821, 1.64612, 1.91216, 2.35441, + 1.04315, 1.3807, 1.67914, 1.83012, 2.00837, 2.41401, + 1.10289, 1.24306, 1.74748, 1.86138, 2.20309, 2.50438, + 1.04973, 1.35437, 1.73588, 1.819, 2.24881, 2.55779, + 1.10598, 1.57142, 1.76481, 1.95355, 2.42885, 2.56011, + 1.29085, 1.55016, 1.83756, 2.1266, 2.48883, 2.60078, + 1.19424, 1.4267, 1.83766, 1.91401, 2.44321, 2.63552, + 1.1655, 1.26009, 1.79094, 1.89331, 2.40045, 2.64664, + 1.22495, 1.30814, 1.82593, 1.91949, 2.32136, 2.69508, + 1.24849, 1.34538, 1.77545, 1.87671, 2.35372, 2.65414, + 1.27114, 1.39967, 1.81154, 1.89758, 2.40349, 2.65392, + 1.3091, 1.40766, 1.80684, 1.89783, 2.33922, 2.63235, + 1.29102, 1.38333, 1.80244, 1.88719, 2.24772, 2.66245, + 1.26136, 1.37051, 1.75597, 1.87125, 2.1019, 2.59359, + 1.28264, 1.37654, 1.77553, 1.9045, 2.19234, 2.50743, + 1.36136, 1.45086, 1.79107, 1.90616, 2.2215, 2.54334, + 1.33499, 1.43138, 1.71627, 1.90549, 2.0892, 2.37826, + 1.38567, 1.47042, 1.7654, 1.90922, 2.17384, 2.45657, + 1.36432, 1.45506, 1.75488, 1.87147, 2.36504, 2.57228, + 1.38778, 1.48689, 1.71209, 1.8475, 2.24356, 2.57069, + 1.31245, 1.42529, 1.62289, 1.75678, 1.97847, 2.36751, + 1.3472, 1.45434, 1.68343, 1.82547, 2.08792, 2.46256, + 1.32645, 1.40544, 1.72764, 1.83555, 2.32887, 2.61433, + 1.33311, 1.42971, 1.79607, 1.90035, 2.44506, 2.65291, + 1.3228, 1.42159, 1.73694, 1.8435, 2.53212, 2.64664, + 1.34468, 1.43186, 1.76621, 1.92458, 2.55008, 2.68986, + 1.38828, 1.48581, 1.71196, 1.82621, 2.49614, 2.65849, + 1.41113, 1.49561, 1.77687, 1.87667, 2.49259, 2.65135, + 1.41779, 1.49158, 1.80169, 1.89041, 2.44245, 2.70699, + 1.40612, 1.51559, 1.75734, 1.89697, 2.38205, 2.63363, + 1.42586, 1.51481, 1.77326, 1.90174, 2.44755, 2.63472, + 1.47603, 1.55503, 1.74573, 1.86162, 2.39877, 2.61498, + 1.45985, 1.56153, 1.78645, 1.91123, 2.47654, 2.59179, + 1.40306, 1.51419, 1.72076, 1.90094, 2.48989, 2.57733, + 1.42813, 1.52351, 1.68976, 1.83521, 2.4589, 2.56597, + 1.32896, 1.43471, 1.60407, 1.73425, 2.4663, 2.56683, + 1.24132, 1.34325, 1.458, 1.69662, 2.52782, 2.64566, + 1.13662, 1.31113, 1.42996, 1.69536, 2.54253, 2.66041, + 1.15311, 1.34414, 1.69081, 1.98593, 2.42001, 2.55378, + 1.23176, 1.37392, 1.66882, 2.11744, 2.40191, 2.48888, + 0.978581, 1.11559, 1.51713, 2.00053, 2.44902, 2.52602, + 0.951081, 1.10796, 1.20861, 1.73722, 2.4743, 2.61185, + 0.981806, 1.12784, 1.22059, 1.72099, 2.58653, 2.69889, + 0.977554, 1.22407, 1.33776, 1.71327, 2.59337, 2.67541, + 0.986078, 1.2604, 1.40744, 1.57149, 2.56942, 2.63175, + 1.06877, 1.2094, 1.46443, 1.55798, 2.55135, 2.66975, + 1.03419, 1.17431, 1.46726, 1.55529, 2.46049, 2.64226, + 1.05663, 1.17869, 1.5099, 1.62154, 2.15303, 2.54053, + 1.10894, 1.24024, 1.65138, 1.77854, 2.22761, 2.57195, + 1.04085, 1.39778, 1.70963, 1.83002, 2.3987, 2.61895, + 1.06308, 1.56403, 1.69554, 1.79469, 2.41902, 2.57735, + 1.15665, 1.57989, 1.74299, 1.88897, 2.41901, 2.62687, + 1.28215, 1.60467, 1.76982, 1.98481, 2.29053, 2.40855, + 1.41496, 1.75259, 1.9379, 2.07679, 2.28769, 2.50228, + 1.56159, 1.88269, 2.08718, 2.19987, 2.3986, 2.50906, + 1.74177, 1.96305, 2.16108, 2.26221, 2.51606, 2.62613, + 1.57955, 1.9163, 2.20167, 2.30168, 2.45849, 2.64834, + 1.6562, 1.8493, 2.1017, 2.30217, 2.48776, 2.57383, + 1.76171, 1.93589, 2.1671, 2.42309, 2.53131, 2.61977, + 1.74734, 1.94646, 2.12972, 2.45212, 2.59171, 2.6811, + 1.66477, 1.95071, 2.06484, 2.45292, 2.65328, 2.71998, + 1.18212, 1.80699, 2.03181, 2.24045, 2.58934, 2.66695, + 0.911793, 1.44443, 1.9382, 2.00954, 2.51885, 2.66242, + 0.906235, 1.35395, 1.86014, 1.94894, 2.57034, 2.65373, + 0.915756, 1.18244, 1.77937, 1.91835, 2.49518, 2.68524, + 0.923262, 1.16808, 1.70545, 2.00799, 2.40124, 2.58442, + 0.915338, 1.1961, 1.64118, 1.9578, 2.23516, 2.50251, + 1.11694, 1.26915, 1.59747, 1.9508, 2.1291, 2.3925, + 1.22715, 1.34423, 1.80926, 1.99916, 2.32077, 2.54577, + 1.30788, 1.51797, 1.83234, 2.04216, 2.34776, 2.54341, + 1.14291, 1.42748, 1.83152, 2.02229, 2.35648, 2.58964, + 1.02021, 1.20271, 1.78017, 2.07079, 2.56583, 2.66165, + 1.08785, 1.26596, 1.65328, 2.09396, 2.62566, 2.70924, + 1.14659, 1.23417, 1.66629, 2.02225, 2.60572, 2.67625, + 1.08906, 1.31141, 1.64715, 1.83385, 2.66668, 2.72276, + 1.18839, 1.31996, 1.72568, 1.80695, 2.57119, 2.66417, + 1.20957, 1.35804, 1.69743, 1.7942, 2.47045, 2.64023, + 1.24605, 1.33829, 1.69554, 1.782, 2.56576, 2.66694, + 1.26125, 1.38448, 1.61968, 1.77958, 2.5918, 2.71243, + 1.33751, 1.45023, 1.64699, 1.77421, 2.57897, 2.70337, + 1.38769, 1.4781, 1.61892, 1.74728, 2.53199, 2.6657, + 1.30178, 1.39264, 1.54187, 1.66565, 2.48454, 2.65506, + 1.25701, 1.39883, 1.52736, 1.73414, 2.61953, 2.68968, + 1.21116, 1.32426, 1.66434, 1.91151, 2.58934, 2.68525, + 1.11303, 1.32541, 1.6977, 1.94018, 2.59112, 2.67963, + 1.00034, 1.35223, 1.71949, 2.02479, 2.57766, 2.6391, + 0.952537, 1.56466, 1.91458, 2.02111, 2.48126, 2.55357, + 0.94138, 1.57337, 1.89848, 1.99082, 2.3884, 2.52782, + 0.835656, 1.42686, 1.9149, 2.0063, 2.45584, 2.54443, + 0.762518, 1.61797, 1.84816, 1.95272, 2.51168, 2.57689, + 0.760103, 1.72025, 1.88404, 1.9725, 2.52618, 2.66897, + 0.788105, 1.51594, 1.76089, 1.95372, 2.49866, 2.5539, + 0.84239, 1.23509, 1.68744, 2.01111, 2.39147, 2.52955, + 0.970555, 1.30488, 1.68991, 2.0601, 2.38601, 2.52427, + 1.07851, 1.22081, 1.63039, 2.10393, 2.41141, 2.5183, + 1.03513, 1.37429, 1.73952, 2.01539, 2.38354, 2.54289, + 1.23277, 1.46612, 1.94288, 2.1126, 2.35987, 2.47684, + 1.03214, 1.46016, 1.84361, 2.11132, 2.40561, 2.54561, + 0.863004, 1.57537, 1.75434, 2.02642, 2.48406, 2.54587, + 0.78188, 1.62113, 1.87611, 2.13162, 2.59115, 2.66521, + 0.689257, 1.56767, 1.95132, 2.24673, 2.50779, 2.64996, + 0.76292, 1.45451, 2.05214, 2.23995, 2.40891, 2.57038, + 0.735313, 1.36954, 2.14112, 2.22674, 2.40426, 2.51585, + 0.692794, 1.21322, 2.02173, 2.17001, 2.40979, 2.63261, + 0.749191, 1.32741, 1.8763, 2.15981, 2.39637, 2.54356, + 0.723514, 1.31193, 1.77912, 2.00099, 2.33306, 2.52163, + 0.800844, 1.39933, 1.70253, 1.88677, 2.1838, 2.39184, + 0.935365, 1.5324, 1.7461, 1.84327, 2.02788, 2.36693, + 0.879717, 1.39098, 1.69669, 1.87323, 2.27339, 2.53295, + 1.11563, 1.39538, 1.55249, 2.06254, 2.37975, 2.48566, + 1.25346, 1.37982, 1.72652, 2.1649, 2.38685, 2.50781, + 1.28865, 1.54861, 1.76922, 2.10614, 2.42884, 2.5175, + 1.36965, 1.61115, 1.79367, 1.97047, 2.36765, 2.55804, + 1.39903, 1.69493, 1.86562, 2.03676, 2.40916, 2.58643, + 1.43333, 1.74573, 1.93073, 2.15938, 2.42655, 2.57904, + 1.26759, 1.66587, 1.97138, 2.10332, 2.44452, 2.56774, + 1.22612, 1.49722, 1.88861, 2.08359, 2.54785, 2.62348, + 1.21786, 1.50232, 1.85015, 1.97391, 2.50602, 2.62557, + 1.21379, 1.59537, 1.87504, 1.97942, 2.42715, 2.60646, + 1.23975, 1.51387, 1.76668, 1.94793, 2.28162, 2.49207, + 1.24763, 1.58563, 1.72974, 1.8947, 2.38196, 2.52212, + 1.20115, 1.47447, 1.74657, 1.83424, 2.28973, 2.52518, + 1.18147, 1.55532, 1.7036, 1.82308, 2.31583, 2.44389, + 1.19633, 1.57376, 1.73522, 1.80803, 2.4035, 2.55724, + 1.14908, 1.63161, 1.76916, 1.92557, 2.36812, 2.54281, + 1.07109, 1.63355, 1.76134, 1.87247, 2.40846, 2.57352, + 1.06523, 1.55174, 1.71341, 1.88049, 2.38743, 2.51216, + 0.987564, 1.63573, 1.78594, 1.95671, 2.4134, 2.54862, + 0.931677, 1.52646, 1.77301, 1.89696, 2.43796, 2.5139, + 0.900322, 1.64588, 1.78798, 2.04104, 2.33427, 2.43459, + 0.867303, 1.71472, 1.90161, 2.09919, 2.3871, 2.47589, + 0.868278, 1.69374, 1.9173, 2.01308, 2.2746, 2.38253, + 0.848816, 1.56719, 1.82901, 1.92983, 2.3394, 2.42562, + 0.789452, 1.36929, 1.82686, 1.91727, 2.41428, 2.50207, + 0.737031, 1.1733, 1.87303, 1.97283, 2.45513, 2.54124, + 0.759015, 1.25073, 1.78111, 1.99463, 2.42044, 2.55494, + 0.749485, 1.36394, 1.89637, 1.99357, 2.44226, 2.50985, + 0.749379, 1.21466, 1.94066, 2.03408, 2.45072, 2.5683, + 0.801242, 1.26916, 1.8709, 1.95599, 2.40516, 2.47386, + 0.82329, 1.25895, 1.87986, 2.0697, 2.41177, 2.5101, + 0.836531, 1.27393, 1.9573, 2.04747, 2.49016, 2.58229, + 0.834116, 1.18388, 1.88646, 1.96919, 2.49948, 2.60434, + 0.876413, 1.17115, 1.94662, 2.0309, 2.43135, 2.55301, + 0.839364, 1.05611, 1.85364, 2.10059, 2.39261, 2.55434, + 0.864173, 1.16468, 1.83549, 1.96885, 2.37631, 2.5161, + 0.932804, 1.29457, 1.83095, 1.90104, 2.44527, 2.55257, + 0.963048, 1.35686, 1.76883, 1.89322, 2.47992, 2.61467, + 1.03707, 1.35972, 1.82081, 1.89105, 2.51931, 2.60502, + 1.06061, 1.46234, 1.79795, 1.93929, 2.52187, 2.59188, + 1.07992, 1.50417, 1.80221, 1.93053, 2.46514, 2.5432, + 1.14011, 1.33906, 1.81335, 1.90531, 2.37007, 2.53042, + 1.15187, 1.35617, 1.77236, 1.88371, 2.37001, 2.61081, + 1.28808, 1.63863, 1.75106, 2.27992, 2.55539, 2.62328, + 1.45144, 1.73949, 1.9164, 2.3887, 2.63615, 2.70283, + 1.59125, 1.85154, 2.21828, 2.38549, 2.59375, 2.67943, + 1.59226, 2.01614, 2.2338, 2.33376, 2.54482, 2.66517, + 1.6542, 1.94158, 2.25097, 2.37237, 2.4589, 2.59983, + 1.70325, 2.0255, 2.2296, 2.3371, 2.46858, 2.61766, + 1.63882, 2.00556, 2.20195, 2.26846, 2.49954, 2.61841, + 1.92467, 2.13532, 2.45818, 2.50417, 2.59384, 2.6254, + 1.80381, 2.06257, 2.19935, 2.28946, 2.55004, 2.64392, + 1.77301, 1.97662, 2.10757, 2.22087, 2.44498, 2.54384, + 1.76495, 2.00173, 2.21445, 2.2547, 2.47561, 2.57975, + 1.67833, 1.86391, 2.24464, 2.34367, 2.47113, 2.63609, + 1.75581, 1.86025, 2.22372, 2.35306, 2.4983, 2.58668, + 1.69343, 1.86924, 2.2833, 2.3958, 2.51974, 2.58367, + 1.7044, 1.79121, 2.14719, 2.33645, 2.47903, 2.59089, + 1.68326, 1.86225, 2.16334, 2.35184, 2.52091, 2.61603, + 1.62322, 1.80421, 2.22207, 2.3603, 2.6199, 2.69951, + 1.65724, 1.82561, 2.25849, 2.34735, 2.54573, 2.69471, + 1.66007, 1.86034, 2.25357, 2.36412, 2.56409, 2.63073, + 1.5969, 1.83951, 2.21893, 2.38579, 2.54647, 2.62589, + 1.62232, 1.8512, 1.99621, 2.3774, 2.52207, 2.59549, + 1.02947, 1.25453, 1.74899, 2.05352, 2.44588, 2.57611, + 0.856689, 0.993818, 1.56961, 2.21376, 2.46185, 2.54708, + 1.01658, 1.1919, 1.29347, 1.77814, 2.4558, 2.55165, + 1.01054, 1.22815, 1.31143, 1.82028, 2.53151, 2.65675, + 0.908278, 1.18958, 1.28554, 1.8586, 2.52592, 2.61992, + 0.871987, 1.17192, 1.31749, 1.82652, 2.40074, 2.51809, + 1.03312, 1.18885, 1.4397, 2.03901, 2.57242, 2.6561, + 0.970197, 1.29563, 1.40244, 2.03504, 2.48818, 2.54989, + 1.0882, 1.22065, 1.55306, 2.13338, 2.5357, 2.59506, + 1.00995, 1.3898, 1.51706, 2.11522, 2.47419, 2.55069, + 0.993372, 1.42737, 1.53917, 1.9724, 2.52584, 2.58386, + 1.04829, 1.48208, 1.63718, 2.16108, 2.52317, 2.61471, + 1.02433, 1.56286, 1.69224, 2.29516, 2.59484, 2.64857, + 0.907692, 1.61256, 1.74613, 2.16254, 2.57575, 2.61626, + 0.890482, 1.61113, 1.77393, 1.97073, 2.57775, 2.6596, + 0.808392, 1.5978, 1.78596, 2.0064, 2.56504, 2.63896, + 0.766474, 1.58442, 1.83584, 1.92974, 2.58154, 2.64107, + 0.769957, 1.62677, 1.86926, 2.02945, 2.60278, 2.66048, + 0.798945, 1.53186, 1.83489, 1.94653, 2.62826, 2.69262, + 0.720628, 1.38023, 1.8176, 1.89535, 2.54776, 2.6072, + 0.717991, 1.30127, 1.75327, 1.88057, 2.50111, 2.57068, + 0.757538, 1.19751, 1.71932, 1.8634, 2.4672, 2.58075, + 0.753702, 1.29247, 1.69185, 1.7758, 2.47259, 2.58378, + 0.814552, 1.2342, 1.58385, 1.68828, 2.54626, 2.60138, + 0.892573, 1.25942, 1.54867, 1.62871, 2.46518, 2.55748, + 0.949846, 1.26057, 1.42925, 1.62028, 2.39675, 2.4574, + 1.0353, 1.2441, 1.49824, 1.64392, 2.38137, 2.52433, + 1.10807, 1.33757, 1.53819, 1.80059, 2.51358, 2.61769, + 1.18254, 1.37047, 1.56189, 1.84416, 2.54573, 2.61445, + 1.21527, 1.3744, 1.59539, 1.9408, 2.51228, 2.59416, + 1.23283, 1.3567, 1.64836, 2.04066, 2.51833, 2.60689, + 1.29553, 1.441, 1.62601, 2.06359, 2.53545, 2.6072, + 1.31746, 1.48417, 1.66663, 2.1072, 2.50946, 2.56956, + 1.28814, 1.40484, 1.70844, 2.1424, 2.47826, 2.55815, + 1.30118, 1.49063, 1.68866, 2.20974, 2.51657, 2.5826, + 1.38891, 1.4886, 1.75307, 2.24911, 2.46845, 2.53274, + 1.43236, 1.50195, 1.75604, 2.22738, 2.54031, 2.63382, + 1.27063, 1.44425, 1.69718, 2.16774, 2.57417, 2.66708, + 1.37795, 1.51182, 1.61924, 2.07059, 2.58057, 2.65545, + 1.31909, 1.43763, 1.57516, 1.82626, 2.5685, 2.64694, + 1.27334, 1.43938, 1.61468, 1.97782, 2.58918, 2.64227, + 1.36481, 1.49144, 1.65464, 1.9149, 2.27758, 2.49171, + 1.3814, 1.48233, 1.6257, 1.76745, 2.29282, 2.53541, + 1.31612, 1.4108, 1.57452, 1.6965, 2.24155, 2.54414, + 1.24921, 1.44841, 1.65161, 1.81201, 2.16694, 2.52883, + 1.32999, 1.4301, 1.63778, 1.7537, 2.14427, 2.49173, + 1.21201, 1.46018, 1.66372, 1.72397, 2.45273, 2.65487, + 1.15467, 1.42799, 1.63984, 1.70382, 2.52478, 2.64719, + 1.13219, 1.27638, 1.63819, 1.75073, 2.36014, 2.63024, + 1.1068, 1.2922, 1.56399, 1.73715, 2.27638, 2.67348, + 1.00947, 1.4092, 1.60525, 1.75588, 2.54981, 2.6669, + 0.849242, 1.42476, 1.60734, 1.77047, 2.59306, 2.69757, + 0.884126, 1.41867, 1.69054, 1.91036, 2.64889, 2.75356, + 0.835786, 1.50533, 1.65083, 1.83983, 2.66751, 2.73182, + 0.830887, 1.41843, 1.69822, 1.81279, 2.54661, 2.60518, + 0.770144, 1.45618, 1.73535, 1.83979, 2.48532, 2.53941, + 0.741204, 1.4612, 1.72026, 2.03966, 2.61315, 2.65662, + 0.746126, 1.43606, 1.67492, 1.86887, 2.61646, 2.6596, + 0.785082, 1.34349, 1.67545, 1.75655, 2.55005, 2.61191, + 0.745773, 1.35482, 1.63002, 1.93899, 2.4536, 2.54908, + 0.84578, 1.46925, 1.62908, 1.97497, 2.49928, 2.54978, + 0.949421, 1.46277, 1.57299, 2.28604, 2.54958, 2.60293, + 1.02515, 1.38536, 1.64839, 2.19293, 2.44063, 2.53102, + 1.03372, 1.43617, 1.74409, 2.13226, 2.54404, 2.6189, + 1.08284, 1.45584, 1.59799, 2.00309, 2.62826, 2.73613, + 1.02162, 1.3808, 1.5378, 2.00792, 2.65618, 2.72548, + 0.934605, 1.33831, 1.72128, 2.02138, 2.45266, 2.63594, + 0.974987, 1.2806, 1.74048, 1.98864, 2.38339, 2.58854, + 0.963572, 1.35863, 1.77509, 2.07708, 2.37441, 2.55255, + 1.33939, 1.60607, 1.94104, 2.1598, 2.44654, 2.58731, + 1.26864, 1.60406, 1.94006, 2.17892, 2.48766, 2.5975, + 1.12981, 1.52262, 1.87297, 2.07507, 2.47971, 2.63317, + 1.13535, 1.4223, 1.86599, 1.94531, 2.52336, 2.68614, + 1.13554, 1.56227, 1.76815, 1.92201, 2.50605, 2.73613, + 1.17333, 1.63762, 1.8454, 1.97453, 2.37951, 2.62759, + 1.22309, 1.47716, 1.79951, 1.94529, 2.6037, 2.69777, + 1.28565, 1.78142, 1.97253, 2.33525, 2.64962, 2.71925, + 1.51607, 1.86247, 2.08499, 2.38614, 2.56337, 2.65052, + 1.62251, 1.80088, 2.07468, 2.3711, 2.4941, 2.60895, + 1.64422, 1.73091, 2.23525, 2.34462, 2.4606, 2.62177, + 1.64649, 1.74384, 2.11867, 2.33454, 2.48765, 2.5973, + 1.57447, 1.66694, 2.16568, 2.29463, 2.46302, 2.64293, + 1.56853, 1.66268, 2.06838, 2.24007, 2.37478, 2.53429, + 1.50109, 1.67557, 2.0192, 2.25394, 2.40396, 2.56021, + 1.33322, 1.48186, 1.81038, 2.03244, 2.23527, 2.46402, + 1.18419, 1.37647, 1.74307, 2.07718, 2.24737, 2.43664, + 0.860298, 1.01797, 1.39947, 2.03136, 2.44583, 2.51204, + 0.987543, 1.18722, 1.32467, 2.08656, 2.44026, 2.50786, + 0.987539, 1.05739, 1.40051, 2.29103, 2.46201, 2.53454, + 1.07257, 1.16846, 1.33543, 2.28155, 2.59528, 2.64199, + 1.04242, 1.21947, 1.32875, 2.10439, 2.48141, 2.54485, + 1.07584, 1.20487, 1.37029, 2.20656, 2.50952, 2.5572, + 1.07591, 1.18808, 1.41434, 2.3201, 2.53091, 2.58942, + 1.07615, 1.2674, 1.41198, 2.21842, 2.45229, 2.54095, + 1.15455, 1.31481, 1.50039, 2.30097, 2.50519, 2.56979, + 1.17038, 1.30037, 1.47778, 2.20108, 2.41823, 2.51101, + 1.16483, 1.29078, 1.43643, 2.04217, 2.4346, 2.51715, + 1.19386, 1.29319, 1.52759, 2.00881, 2.37081, 2.47326, + 1.26354, 1.38567, 1.59613, 2.04876, 2.42779, 2.50408, + 1.30519, 1.42101, 1.65888, 2.09585, 2.42943, 2.51858, + 1.3783, 1.49436, 1.71028, 2.07804, 2.47796, 2.55948, + 1.33373, 1.47526, 1.67404, 2.03963, 2.44671, 2.52705, + 1.34615, 1.46853, 1.67367, 1.96109, 2.4626, 2.56716, + 1.32426, 1.4669, 1.74709, 2.00944, 2.48056, 2.57128, + 1.30692, 1.41105, 1.74078, 2.0324, 2.46634, 2.57579, + 1.2773, 1.40831, 1.71568, 1.95693, 2.50597, 2.5973, + 1.23917, 1.40986, 1.63569, 1.84314, 2.51134, 2.59249, + 1.26227, 1.3779, 1.66588, 1.78528, 2.41492, 2.5191, + 1.22377, 1.37861, 1.70694, 1.81201, 2.47211, 2.5535, + 1.24828, 1.56097, 1.68845, 2.02442, 2.46468, 2.53208, + 1.55115, 1.67483, 1.86392, 2.2426, 2.42567, 2.51231, + 1.61354, 1.73636, 1.91583, 2.28434, 2.5051, 2.5755, + 1.67565, 1.76455, 2.01326, 2.3086, 2.47931, 2.57088, + 1.67679, 1.73219, 2.21691, 2.35074, 2.51681, 2.58494, + 1.67209, 1.76809, 2.1703, 2.27753, 2.41116, 2.49253, + 1.64585, 1.88123, 2.21635, 2.32063, 2.46081, 2.56493, + 1.71409, 1.93321, 2.22012, 2.3277, 2.45303, 2.55743, + 1.86416, 1.9656, 2.21189, 2.35407, 2.45155, 2.5437, + 1.84051, 1.9809, 2.14136, 2.27592, 2.48783, 2.60703, + 1.28163, 1.50854, 1.87809, 2.15331, 2.51039, 2.59772, + 1.28594, 1.55852, 1.89593, 2.1545, 2.51005, 2.62888, + 1.1797, 1.45797, 1.80582, 2.0887, 2.53683, 2.64835, + 1.21318, 1.47414, 1.79648, 1.88639, 2.42644, 2.59714, + 1.17576, 1.56663, 1.7868, 1.95963, 2.44398, 2.62181, + 1.24128, 1.49554, 1.77294, 1.95943, 2.51364, 2.61189, + 1.25286, 1.54735, 1.7413, 1.87367, 2.44728, 2.67464, + 1.23425, 1.43703, 1.74215, 1.83575, 2.37217, 2.58149, + 1.2624, 1.35128, 1.71028, 1.83349, 2.30891, 2.5836, + 1.33086, 1.4241, 1.67389, 1.80298, 2.27185, 2.55676, + 1.37492, 1.47319, 1.70336, 1.80452, 2.37449, 2.62583, + 1.35042, 1.47764, 1.74193, 1.86958, 2.46816, 2.63785, + 1.29945, 1.40927, 1.70733, 1.82882, 2.41262, 2.66007, + 1.28367, 1.41318, 1.69401, 1.91384, 2.235, 2.66336, + 1.13135, 1.54545, 1.7382, 1.92713, 2.24255, 2.52954, + 1.3104, 1.44532, 1.80081, 1.94176, 2.22418, 2.4307, + 1.20782, 1.40771, 1.79229, 1.89783, 2.27858, 2.58879, + 1.17208, 1.38037, 1.76961, 1.87071, 2.42071, 2.66541, + 1.05037, 1.29292, 1.70868, 1.81557, 2.3983, 2.64784, + 1.0122, 1.35284, 1.71047, 1.79843, 2.50105, 2.62211, + 0.949688, 1.51131, 1.80223, 2.05177, 2.38659, 2.54393, + 1.23953, 1.52331, 1.99264, 2.17592, 2.53584, 2.66332, + 1.17041, 1.42396, 1.91809, 2.07296, 2.37133, 2.60069, + 1.15328, 1.63164, 1.94366, 2.04139, 2.42629, 2.52794, + 1.13099, 1.68734, 1.9131, 1.98242, 2.36664, 2.59216, + 0.876015, 1.53912, 1.95282, 2.04039, 2.35419, 2.59247, + 0.741027, 1.33078, 2.01026, 2.08898, 2.40638, 2.51241, + 0.692068, 1.22098, 1.96684, 2.05317, 2.52761, 2.62537, + 0.697907, 1.40678, 2.01601, 2.08582, 2.57318, 2.65234, + 0.747161, 1.54248, 1.98219, 2.09109, 2.57331, 2.6146, + 0.759939, 1.51811, 1.93822, 2.16296, 2.53435, 2.63909, + 0.752015, 1.44593, 2.09774, 2.15063, 2.47989, 2.58714, + 0.80419, 1.42852, 2.01245, 2.19581, 2.47075, 2.57726, + 0.757784, 1.35654, 1.87818, 2.23225, 2.531, 2.6303, + 0.782189, 1.2517, 1.76691, 2.20655, 2.56445, 2.6177, + 0.692136, 1.30829, 1.59302, 1.84293, 2.50433, 2.65265, + 0.779817, 1.26499, 1.68969, 1.80369, 2.5305, 2.66946, + 0.774734, 1.19962, 1.64959, 1.72658, 2.4371, 2.59153, + 0.885025, 1.31194, 1.64647, 1.73919, 2.57872, 2.67199, + 0.949387, 1.38711, 1.64193, 1.76257, 2.52877, 2.58579, + 1.01204, 1.45536, 1.66673, 1.75258, 2.43427, 2.55352, + 1.10407, 1.52937, 1.68209, 1.97304, 2.34551, 2.51158, + 1.424, 1.61941, 1.99551, 2.29891, 2.43078, 2.52129, + 1.58246, 1.83207, 2.2751, 2.38313, 2.4828, 2.53932, + 1.70637, 2.00167, 2.30003, 2.39481, 2.48697, 2.58695, + 1.53226, 1.93376, 2.28401, 2.42231, 2.62294, 2.70604, + 1.67894, 1.88906, 2.33897, 2.51297, 2.63237, 2.6795, + 1.63441, 1.78371, 2.12418, 2.463, 2.61035, 2.69136, + 1.61835, 1.75102, 2.02613, 2.41802, 2.6094, 2.67895, + 1.5652, 1.7943, 1.90207, 2.40566, 2.62933, 2.69687, + 1.28214, 1.59125, 1.85203, 2.31423, 2.61778, 2.72294, + 1.22037, 1.42168, 1.69434, 1.88174, 2.5568, 2.65318, + 1.1394, 1.29901, 1.62237, 1.77043, 2.54387, 2.6407, + 1.21449, 1.46742, 1.62803, 1.79401, 2.56341, 2.6917, + 1.05963, 1.52181, 1.63195, 1.86516, 2.60104, 2.68366, + 1.1802, 1.53659, 1.67186, 2.13796, 2.58765, 2.63839, + 1.21365, 1.58211, 1.7095, 2.15751, 2.4768, 2.57401, + 1.24846, 1.55305, 1.6453, 1.89754, 2.57776, 2.68128, + 1.34058, 1.60143, 1.67999, 1.88914, 2.64709, 2.75513, + 1.19455, 1.57556, 1.69753, 1.80137, 2.59652, 2.75237, + 1.15299, 1.53138, 1.71641, 1.81272, 2.41715, 2.69646, + 1.17528, 1.56527, 1.65742, 1.73478, 2.51798, 2.67121, + 1.31588, 1.51598, 1.77517, 2.05808, 2.3073, 2.4493, + 1.24713, 1.38127, 1.56836, 1.85701, 2.15728, 2.43501, + 1.24025, 1.38365, 1.58057, 1.99147, 2.30357, 2.41106, + 1.2868, 1.38585, 1.7307, 2.06754, 2.32691, 2.47304, + 1.20411, 1.33789, 1.66549, 2.03875, 2.23142, 2.5434, + 1.18234, 1.31211, 1.52226, 1.97103, 2.23777, 2.48363, + 1.09543, 1.31991, 1.46571, 2.03259, 2.27994, 2.52364, + 1.1525, 1.29451, 1.45831, 2.03253, 2.30603, 2.40676, + 0.991441, 1.27466, 1.42822, 1.94058, 2.3991, 2.50937, + 0.850157, 1.27472, 1.45373, 1.89353, 2.38229, 2.47766, + 0.93606, 1.31321, 1.42674, 1.88897, 2.55174, 2.60439, + 0.972592, 1.32833, 1.43283, 2.01105, 2.57367, 2.61367, + 0.9094, 1.42276, 1.49463, 2.07395, 2.62063, 2.66268, + 0.828475, 1.4317, 1.56949, 2.05425, 2.62211, 2.66974, + 0.779249, 1.37567, 1.47663, 1.94919, 2.559, 2.62214, + 0.81571, 1.47269, 1.65049, 2.00091, 2.56521, 2.61168, + 0.822357, 1.33351, 1.55165, 1.86418, 2.59585, 2.70612, + 0.736497, 1.25989, 1.49082, 1.88222, 2.49441, 2.61998, + 0.90224, 1.431, 1.5205, 1.91079, 2.6054, 2.67859, + 0.900488, 1.36305, 1.46181, 2.00977, 2.66588, 2.71718, + 1.01539, 1.36153, 1.47485, 1.92044, 2.63748, 2.70257, + 0.950918, 1.33518, 1.44088, 1.87435, 2.67892, 2.74624, + 0.965674, 1.30691, 1.41289, 1.72718, 2.65632, 2.73947, + 1.12134, 1.29133, 1.41298, 1.73139, 2.62458, 2.736, + 1.13549, 1.29997, 1.44863, 1.63579, 2.61671, 2.68774, + 1.12041, 1.2482, 1.38368, 1.57976, 2.39717, 2.58524, + 1.11342, 1.2945, 1.48237, 1.60279, 2.39483, 2.63481, + 1.24175, 1.31817, 1.47317, 1.5775, 2.426, 2.64978, + 1.18438, 1.27289, 1.49775, 1.60805, 2.14445, 2.53727, + 1.28314, 1.37732, 1.54304, 1.64518, 2.10579, 2.4909, + 1.13801, 1.38076, 1.56048, 1.64098, 2.27101, 2.62552, + 1.24388, 1.35154, 1.60307, 1.73979, 2.03808, 2.44751, + 1.26726, 1.50996, 1.64165, 1.83198, 2.33133, 2.47283, + 1.27637, 1.4764, 1.62502, 1.93034, 2.31938, 2.52437, + 1.22268, 1.55941, 1.66998, 1.80547, 2.32691, 2.58028, + 1.26522, 1.50389, 1.83098, 2.09154, 2.39672, 2.56909, + 1.25605, 1.52888, 1.85303, 2.10617, 2.36514, 2.50328, + 1.2365, 1.47912, 1.7283, 2.04146, 2.52856, 2.6129, + 1.22064, 1.60519, 1.71377, 1.95092, 2.59764, 2.64949, + 1.25555, 1.59187, 1.70675, 2.06271, 2.56138, 2.6269, + 1.30708, 1.58002, 1.65355, 1.94129, 2.55273, 2.64371, + 1.31097, 1.5128, 1.65653, 1.83919, 2.5921, 2.67771, + 1.1886, 1.31608, 1.57937, 1.69077, 2.4385, 2.64188, + 1.11467, 1.23599, 1.59197, 1.74919, 2.35944, 2.54521, + 1.08007, 1.27713, 1.728, 2.04141, 2.33707, 2.54979, + 1.03222, 1.25021, 1.681, 1.99834, 2.31853, 2.5022, + 1.06472, 1.15918, 1.66673, 2.01929, 2.25657, 2.57347, + 1.02631, 1.14637, 1.67293, 2.05406, 2.43323, 2.61572, + 0.942929, 1.09279, 1.61352, 2.07778, 2.36514, 2.49974, + 0.98025, 1.25478, 1.492, 1.80119, 2.44532, 2.57571, + 0.957395, 1.25187, 1.37834, 1.74457, 2.50297, 2.66587, + 0.840336, 1.26799, 1.39773, 1.82798, 2.55587, 2.65128, + 1.0099, 1.17581, 1.27777, 2.04836, 2.6379, 2.7009, + 0.88384, 1.02678, 1.14669, 1.89368, 2.51869, 2.61056, + 0.997171, 1.13829, 1.24641, 1.83753, 2.54982, 2.64269, + 0.992125, 1.17887, 1.28227, 1.9744, 2.55911, 2.61297, + 1.06759, 1.2558, 1.35902, 1.96394, 2.54142, 2.59631, + 1.08633, 1.32907, 1.43233, 1.92884, 2.52833, 2.59824, + 1.10035, 1.34558, 1.46953, 1.94236, 2.46972, 2.56168, + 1.10102, 1.37438, 1.56114, 1.94256, 2.48429, 2.553, + 1.1775, 1.45517, 1.57149, 1.9435, 2.50031, 2.5509, + 1.26077, 1.4779, 1.60161, 2.02402, 2.48743, 2.55424, + 1.21644, 1.47008, 1.6396, 1.95721, 2.52383, 2.58819, + 1.25798, 1.4072, 1.65143, 1.91072, 2.4642, 2.62087, + 1.16209, 1.43654, 1.68217, 1.89692, 2.4473, 2.67707, + 1.25022, 1.48463, 1.65387, 1.93047, 2.49389, 2.63344, + 1.23798, 1.51339, 1.64878, 1.88034, 2.50409, 2.58149, + 1.2232, 1.41246, 1.63408, 1.79718, 2.45121, 2.62062, + 1.25874, 1.3584, 1.62772, 1.7261, 2.42829, 2.62133, + 1.23492, 1.34561, 1.55215, 1.70868, 2.38574, 2.60605, + 1.18642, 1.34181, 1.63691, 1.75468, 2.42972, 2.54439, + 1.21626, 1.30589, 1.63278, 1.75577, 2.32081, 2.58379, + 1.16534, 1.28415, 1.56053, 1.68204, 2.24322, 2.49467, + 1.08586, 1.21511, 1.5906, 1.71533, 2.23163, 2.52723, + 1.09165, 1.38416, 1.65516, 1.71656, 2.30278, 2.53555, + 1.06033, 1.23908, 1.62721, 1.73757, 2.42016, 2.59915, + 1.09008, 1.39478, 1.68248, 1.7999, 2.33181, 2.53286, + 1.16904, 1.56812, 1.78572, 2.03155, 2.37221, 2.49786, + 1.2419, 1.66208, 1.82249, 2.16954, 2.42454, 2.52519, + 1.04029, 1.69041, 1.8531, 2.03859, 2.47201, 2.53597, + 0.974879, 1.68906, 1.85014, 2.15131, 2.50742, 2.56254, + 0.879683, 1.74384, 1.96806, 2.16115, 2.46392, 2.54585, + 0.790116, 1.79441, 2.0373, 2.15974, 2.5084, 2.56488, + 0.793374, 1.79617, 2.06052, 2.33107, 2.5913, 2.64858, + 0.859332, 1.80046, 2.02545, 2.20064, 2.53432, 2.61132, + 0.825206, 1.89513, 2.06358, 2.26453, 2.51403, 2.6108, + 0.974068, 1.90478, 2.00264, 2.31585, 2.53967, 2.59516, + 0.961311, 1.82128, 2.01521, 2.27454, 2.60079, 2.65336, + 0.97104, 1.73701, 1.91495, 2.2439, 2.57236, 2.6126, + 0.999552, 1.8179, 1.9531, 2.17859, 2.57433, 2.62628, + 0.9773, 1.75604, 1.92914, 2.13535, 2.42421, 2.55609, + 1.06554, 1.74764, 1.89917, 2.30975, 2.58739, 2.63059, + 1.07706, 1.65572, 1.86833, 2.2386, 2.50891, 2.57184, + 1.07783, 1.71642, 1.79146, 2.26622, 2.61548, 2.65405, + 1.27602, 1.71338, 1.78883, 2.10144, 2.62562, 2.67959, + 1.26317, 1.69909, 1.77693, 2.03511, 2.61035, 2.65342, + 1.29714, 1.66767, 1.74401, 2.03012, 2.60806, 2.67807, + 1.26237, 1.62646, 1.78116, 2.02618, 2.63626, 2.69918, + 1.31803, 1.65777, 1.76358, 1.93904, 2.57545, 2.70561, + 0.980669, 1.55589, 1.72298, 1.97855, 2.56896, 2.63842, + 0.840013, 1.4634, 1.77278, 2.16486, 2.56689, 2.66623, + 0.832158, 1.50575, 1.93789, 2.23397, 2.63013, 2.69488, + 0.745541, 1.5301, 2.06073, 2.163, 2.61913, 2.69213, + 0.83205, 1.59799, 2.12768, 2.19666, 2.52887, 2.6193, + 0.820544, 1.61648, 2.04484, 2.13356, 2.58766, 2.66815, + 0.789348, 1.63857, 1.99603, 2.2128, 2.57293, 2.61543, + 0.806795, 1.74253, 2.04392, 2.18384, 2.60341, 2.66027, + 0.843597, 1.76138, 1.99882, 2.13297, 2.5965, 2.67316, + 0.927714, 1.7594, 1.98717, 2.20199, 2.59168, 2.65081, + 1.0705, 1.76711, 1.97829, 2.22719, 2.6427, 2.68638, + 1.02285, 1.85683, 1.98982, 2.21722, 2.48094, 2.57469, + 0.886409, 1.74269, 1.86307, 2.0549, 2.54233, 2.62705, + 0.996501, 1.55364, 1.80806, 1.94851, 2.51673, 2.60575, + 1.21822, 1.52501, 1.87802, 2.1072, 2.42395, 2.57889, + 1.27471, 1.49178, 1.90624, 2.10124, 2.45572, 2.56357, + 1.31948, 1.58708, 1.87982, 2.24044, 2.43946, 2.54799, + 1.47451, 1.699, 1.92926, 2.22822, 2.45187, 2.56313, + 1.54527, 1.72271, 1.8921, 2.16916, 2.52024, 2.60296, + 1.54616, 1.66889, 1.96149, 2.21208, 2.506, 2.62127, + 1.53562, 1.69929, 2.01636, 2.25082, 2.55009, 2.64562, + 1.58341, 1.68775, 2.05195, 2.33263, 2.49172, 2.59804, + 1.50093, 1.59405, 1.92923, 2.25985, 2.42262, 2.54776, + 1.46492, 1.61478, 1.8817, 2.21673, 2.52895, 2.62322, + 1.40673, 1.60503, 1.80598, 2.22272, 2.50901, 2.58784, + 1.10642, 1.52778, 1.73018, 2.04592, 2.54946, 2.6375, + 1.00815, 1.43972, 1.66547, 1.94137, 2.65244, 2.7511, + 0.971347, 1.40208, 1.7089, 1.95327, 2.61333, 2.68499, + 0.946352, 1.50104, 1.67215, 1.97587, 2.5279, 2.58557, + 0.909229, 1.45358, 1.7139, 2.06564, 2.52931, 2.61316, + 0.975079, 1.52329, 1.83956, 2.13855, 2.49869, 2.58372, + 0.899524, 1.55241, 1.83164, 2.06857, 2.54488, 2.61118, + 0.805175, 1.46233, 1.86054, 2.10134, 2.57044, 2.65485, + 0.859011, 1.51453, 1.8924, 2.01252, 2.57968, 2.64852, + 0.763528, 1.52243, 1.90254, 2.01852, 2.55645, 2.60958, + 0.814387, 1.49485, 1.94172, 2.07798, 2.54033, 2.61284, + 0.853805, 1.40187, 1.94299, 2.08809, 2.48839, 2.57861, + 0.782036, 1.34855, 1.9353, 2.02508, 2.51682, 2.59805, + 0.754386, 1.38495, 1.90024, 1.99966, 2.60037, 2.66376, + 0.746921, 1.42114, 1.93457, 2.03891, 2.55327, 2.6123, + 0.731911, 1.45076, 1.92451, 2.03274, 2.4979, 2.55649, + 0.706741, 1.54373, 1.8766, 1.99252, 2.51018, 2.56596, + 0.852548, 1.54995, 1.89917, 2.2265, 2.52279, 2.58394, + 0.885718, 1.657, 1.86579, 2.16289, 2.46739, 2.55377, + 0.951271, 1.64172, 1.814, 2.15306, 2.4271, 2.49961, + 0.928485, 1.50278, 1.80944, 2.22477, 2.4724, 2.55392, + 0.816616, 1.3911, 1.66558, 2.17614, 2.51072, 2.58282, + 0.915934, 1.39094, 1.76751, 2.16955, 2.47166, 2.65253, + 1.11534, 1.36231, 1.72259, 2.03303, 2.40636, 2.60188, + 1.13866, 1.25298, 1.68452, 1.93737, 2.38431, 2.6239, + 1.08432, 1.21195, 1.63364, 1.88994, 2.41309, 2.62623, + 1.12622, 1.34492, 1.6486, 2.07112, 2.48419, 2.60566, + 1.1239, 1.46156, 1.8451, 2.17246, 2.46266, 2.60514, + 1.13256, 1.46864, 1.74022, 2.18493, 2.46794, 2.5801, + 1.14825, 1.50617, 1.6766, 2.04929, 2.44677, 2.56542, + 0.999544, 1.4047, 1.64177, 1.86332, 2.52384, 2.59211, + 0.932167, 1.39598, 1.70943, 1.84574, 2.52479, 2.59962, + 0.870085, 1.47633, 1.72151, 1.89709, 2.49026, 2.59376, + 0.891107, 1.42911, 1.78973, 1.95843, 2.5191, 2.60499, + 0.85555, 1.42127, 1.90094, 2.01101, 2.54662, 2.60976, + 0.895038, 1.48258, 1.87357, 1.97483, 2.51943, 2.58445, + 0.809092, 1.4865, 1.90227, 2.00088, 2.51837, 2.59726, + 0.808211, 1.46017, 1.88158, 1.9614, 2.46839, 2.61633, + 0.774237, 1.47186, 1.90122, 2.01376, 2.56487, 2.66569, + 0.800018, 1.57695, 1.93818, 2.04372, 2.49438, 2.6301, + 0.804705, 1.57076, 1.88936, 1.97549, 2.44765, 2.55519, + 0.840709, 1.60338, 1.82708, 2.02632, 2.44289, 2.49242, + 0.887288, 1.53614, 1.78162, 1.9522, 2.50081, 2.57651, + 0.847527, 1.5047, 1.79295, 1.89159, 2.57889, 2.63732, + 0.959025, 1.53382, 1.82149, 1.97974, 2.46375, 2.5443, + 1.03632, 1.64079, 1.88602, 1.96289, 2.35866, 2.57776, + 0.981142, 1.48674, 1.7331, 1.87828, 2.53797, 2.61047, + 1.04649, 1.43851, 1.74084, 1.85001, 2.59088, 2.68414, + 1.1034, 1.48978, 1.73824, 1.8175, 2.58837, 2.70105, + 1.17692, 1.47368, 1.73285, 1.82327, 2.52453, 2.73354, + 1.17332, 1.43838, 1.69656, 1.79254, 2.58079, 2.66577, + 1.13496, 1.42186, 1.60407, 1.75613, 2.61795, 2.70664, + 1.13601, 1.38418, 1.6991, 1.85532, 2.59101, 2.68321, + 1.20171, 1.42193, 1.73786, 2.0112, 2.54096, 2.68109, + 1.22745, 1.62446, 2.12523, 2.34056, 2.59344, 2.67145, + 1.26513, 1.76569, 2.13134, 2.39177, 2.61396, 2.69985, + 1.34228, 1.58141, 1.97924, 2.29776, 2.52039, 2.60226, + 1.44901, 1.72555, 2.17628, 2.35474, 2.53876, 2.62732, + 1.41873, 1.89868, 2.20633, 2.2756, 2.48875, 2.58679, + 1.55571, 1.8376, 2.16574, 2.34619, 2.53018, 2.62876, + 1.44444, 1.79005, 1.91101, 2.30191, 2.46886, 2.54056, + 1.37805, 1.6685, 1.84527, 2.32489, 2.53771, 2.60147, + 1.39474, 1.68271, 1.81735, 2.07553, 2.51212, 2.56689, + 1.2972, 1.65588, 1.82541, 2.0621, 2.51331, 2.57737, + 1.28066, 1.6699, 1.82457, 2.16821, 2.52817, 2.60199, + 1.3069, 1.60081, 1.76797, 2.09529, 2.50987, 2.606, + 1.25768, 1.55975, 1.7878, 2.07689, 2.54039, 2.62718, + 1.19685, 1.59755, 1.81742, 2.15266, 2.5808, 2.65125, + 1.23593, 1.67664, 1.94231, 2.32648, 2.56154, 2.64559, + 1.18906, 1.81889, 2.0815, 2.36645, 2.60802, 2.67209, + 1.42759, 1.88542, 2.26491, 2.42422, 2.57137, 2.65115, + 1.71447, 1.93787, 2.39001, 2.45715, 2.55202, 2.60193, + 1.87414, 2.07351, 2.37047, 2.51126, 2.70918, 2.7495, + 1.64782, 1.9878, 2.28191, 2.4121, 2.60469, 2.67482, + 1.59637, 1.88153, 2.19399, 2.38052, 2.51192, 2.58456, + 1.55551, 1.77522, 2.06409, 2.3257, 2.51293, 2.59926, + 1.33005, 1.71296, 1.91762, 2.2859, 2.46659, 2.57928, + 0.990071, 1.41087, 1.63233, 1.96589, 2.46688, 2.58042, + 0.92515, 1.29903, 1.5514, 1.89749, 2.49848, 2.64521, + 0.96808, 1.36713, 1.52036, 1.98816, 2.31347, 2.54694, + 0.974374, 1.28381, 1.47481, 2.0783, 2.33109, 2.45515, + 1.00062, 1.29915, 1.41568, 1.95576, 2.26155, 2.35426, + 0.964045, 1.13649, 1.30593, 1.93641, 2.19754, 2.29942, + 1.01309, 1.20114, 1.37266, 1.82018, 2.06358, 2.21066, + 1.08648, 1.2167, 1.47666, 1.60404, 1.85596, 2.3245, + 1.09016, 1.20121, 1.46078, 1.56222, 2.01609, 2.45898, + 1.13375, 1.25747, 1.40719, 1.78768, 2.28953, 2.53085, + 1.13483, 1.34122, 1.63629, 1.81377, 2.21945, 2.58465, + 0.952747, 1.30093, 1.61689, 1.75101, 2.35211, 2.54788, + 1.0787, 1.49004, 1.57158, 1.80053, 2.46817, 2.65044, + 1.23905, 1.33303, 1.55138, 1.70782, 2.24292, 2.60425, + 1.17652, 1.29911, 1.58888, 1.71408, 2.12886, 2.53352, + 1.13583, 1.25306, 1.53841, 1.63448, 2.25809, 2.59387, + 1.09238, 1.25324, 1.54177, 1.67988, 2.4232, 2.61758, + 1.14266, 1.2564, 1.52828, 1.62968, 2.39158, 2.58969, + 1.17279, 1.28125, 1.4792, 1.60888, 2.33594, 2.59368, + 1.14678, 1.25195, 1.43292, 1.55329, 2.23894, 2.53418, + 1.10995, 1.23142, 1.4121, 1.51605, 2.30857, 2.5999, + 1.12027, 1.23554, 1.42574, 1.50952, 2.43553, 2.64381, + 1.08587, 1.1893, 1.39272, 1.49435, 2.12934, 2.50899, + 1.0205, 1.17314, 1.44097, 1.57442, 2.33586, 2.52405, + 1.04055, 1.17434, 1.52572, 1.69311, 2.49375, 2.63235, + 1.03452, 1.20526, 1.36509, 1.513, 2.47179, 2.57801, + 1.07938, 1.204, 1.33243, 1.4566, 2.50213, 2.66563, + 1.08886, 1.23695, 1.357, 1.56494, 2.60202, 2.70758, + 1.10679, 1.2624, 1.36727, 1.82395, 2.59858, 2.6763, + 1.08501, 1.23353, 1.31146, 1.73033, 2.56009, 2.69032, + 1.06921, 1.18022, 1.34302, 1.47483, 2.26805, 2.54431, + 1.03939, 1.37562, 1.72144, 2.03802, 2.464, 2.60081, + 1.26785, 1.38411, 1.6599, 1.93402, 2.20776, 2.42458, + 1.22528, 1.31662, 1.67815, 1.81923, 2.16534, 2.49855, + 1.11414, 1.28303, 1.65552, 1.87967, 2.35247, 2.55354, + 1.09476, 1.37002, 1.79913, 2.08238, 2.46949, 2.57882, + 1.04125, 1.47276, 1.74873, 2.04759, 2.5117, 2.58983, + 1.07167, 1.45655, 1.70052, 1.92732, 2.44148, 2.607, + 0.929006, 1.48724, 1.66955, 1.88562, 2.54427, 2.62832, + 0.844366, 1.33971, 1.81246, 2.30021, 2.56601, 2.63125, + 0.761441, 1.27995, 1.67045, 2.00635, 2.52682, 2.60756, + 0.716643, 1.37484, 1.84344, 2.12696, 2.55299, 2.61315, + 0.749967, 1.59846, 1.88327, 2.05044, 2.57918, 2.61411, + 0.759376, 1.59638, 1.9291, 1.98455, 2.56673, 2.65421, + 0.724977, 1.6829, 1.88829, 2.0348, 2.50386, 2.5655, + 0.812327, 1.66987, 1.96177, 2.10215, 2.53878, 2.59856, + 0.767334, 1.59463, 1.98432, 2.13342, 2.50169, 2.55781, + 0.76023, 1.65065, 1.92837, 2.09405, 2.56524, 2.59608, + 0.766762, 1.64806, 1.85855, 2.07859, 2.58708, 2.60821, + 0.860938, 1.62925, 1.82485, 2.06735, 2.56337, 2.60321, + 0.960953, 1.58363, 1.75221, 2.07844, 2.55553, 2.62851, + 1.00793, 1.548, 1.73495, 2.18566, 2.48935, 2.55145, + 1.0404, 1.47112, 1.64352, 2.05156, 2.50852, 2.57917, + 1.09602, 1.45743, 1.60401, 1.9262, 2.48203, 2.5522, + 1.13043, 1.43153, 1.59281, 2.01474, 2.51065, 2.56778, + 1.1979, 1.46548, 1.62293, 2.07595, 2.50705, 2.58275, + 1.25883, 1.5048, 1.65911, 1.97065, 2.59575, 2.68565, + 1.31545, 1.46745, 1.70572, 1.89863, 2.60257, 2.70498, + 1.27248, 1.43189, 1.71285, 1.94026, 2.65038, 2.71717, + 1.27886, 1.52865, 1.7962, 1.9952, 2.50176, 2.58761, + 1.45862, 1.69394, 2.0679, 2.26484, 2.50686, 2.62394, + 1.7188, 1.90961, 2.1476, 2.35417, 2.48558, 2.59127, + 1.81387, 1.87548, 2.09764, 2.32968, 2.4978, 2.59625, + 1.74429, 1.85945, 2.04317, 2.28459, 2.4309, 2.53857, + 1.51418, 1.8083, 1.93379, 2.23465, 2.46223, 2.54624, + 1.48926, 1.78119, 1.908, 2.14448, 2.41859, 2.51386, + 1.43479, 1.67979, 1.81735, 2.10537, 2.43137, 2.52824, + 1.46958, 1.58951, 1.81351, 2.21313, 2.4405, 2.52051, + 1.49629, 1.64005, 1.89386, 2.29862, 2.4847, 2.57621, + 1.33342, 1.58473, 1.89302, 2.12181, 2.52535, 2.63262, + 1.51872, 1.73584, 1.95653, 2.17643, 2.46534, 2.57234, + 1.52095, 1.74256, 2.01058, 2.13358, 2.44746, 2.5667, + 1.45812, 1.69223, 2.00192, 2.12054, 2.43104, 2.56511, + 1.52691, 1.66239, 2.02514, 2.12506, 2.53787, 2.62681, + 1.4983, 1.64421, 1.96073, 2.10329, 2.44031, 2.57241, + 1.41548, 1.54829, 1.7708, 2.09993, 2.45026, 2.59946, + 1.36719, 1.46063, 1.73948, 2.07403, 2.55195, 2.64 +}; + +const struct lsp_codebook lsp_cbvq[] = { + /* codebook/lsp1.txt */ + { + 1, + 4, + 16, + codes0 + }, + /* codebook/lsp2.txt */ + { + 1, + 4, + 16, + codes1 + }, + /* codebook/lsp3.txt */ + { + 1, + 4, + 16, + codes2 + }, + /* codebook/lsp4.txt */ + { + 1, + 4, + 16, + codes3 + }, + /* ../unittest/lsp45678910.txt */ + { + 6, + 12, + 4096, + codes4 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codebookvqanssi.c b/DSP_API/CODEC2_FREEDV/codebookvqanssi.c new file mode 100644 index 0000000..b755740 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codebookvqanssi.c @@ -0,0 +1,565 @@ +/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ + +/* + * This intermediary file and the files that used to create it are under + * The LGPL. See the file COPYING. + */ + +#include "defines.h" + + /* codebook/lspvqanssi1.txt */ +static const float codes0[] = { + 0.5862, 0.7213, 0.9146, 1.0909, 1.291, 1.4954, 1.837, 2.084, 2.3771, 2.5518, + 0.0871, 0.2049, 0.5849, 0.8552, 1.2096, 1.4686, 1.821, 2.0926, 2.4508, 2.7389, + 0.2274, 0.3126, 0.6088, 0.8338, 1.1824, 1.5948, 1.8228, 1.9856, 2.1832, 2.4793, + 0.1827, 0.2706, 0.5842, 0.7761, 1.0301, 1.2462, 1.6313, 1.9786, 2.3479, 2.679, + 0.3055, 0.3863, 0.7194, 1.1609, 1.3303, 1.5017, 1.7265, 1.9412, 2.4659, 2.6315, + 0.1794, 0.2522, 0.5477, 0.7892, 1.3887, 1.7101, 1.9471, 2.1667, 2.4361, 2.631, + 0.1825, 0.2729, 0.4185, 0.6024, 1.2531, 1.7291, 1.9937, 2.1849, 2.5865, 2.7748, + 0.3219, 0.4045, 0.7357, 1.2708, 1.4626, 1.6439, 1.9388, 2.1212, 2.5005, 2.6749, + 0.2234, 0.3496, 0.5054, 0.6981, 0.8672, 1.0431, 1.7091, 2.069, 2.329, 2.6195, + 0.3009, 0.3957, 0.7576, 0.9751, 1.1955, 1.7727, 2.0383, 2.2474, 2.5612, 2.7188, + 0.3841, 0.5544, 0.9209, 1.1811, 1.5441, 1.8126, 2.1175, 2.3192, 2.5486, 2.6935, + 0.2153, 0.3105, 0.5597, 0.8313, 1.2168, 1.4512, 1.7012, 1.8962, 2.3893, 2.5852, + 0.3196, 0.4814, 0.7629, 1.0869, 1.5517, 1.778, 2.0462, 2.2547, 2.5023, 2.6706, + 0.1964, 0.3055, 0.4307, 0.7178, 1.426, 1.624, 1.8392, 2.0576, 2.2976, 2.5492, + 0.426, 0.6888, 1.2019, 1.4194, 1.6437, 1.8221, 2.0469, 2.2508, 2.5142, 2.6795, + 0.3004, 0.3944, 0.5847, 1.005, 1.1812, 1.3559, 1.5479, 1.7847, 2.4924, 2.6703, + 0.1595, 0.2398, 0.4336, 0.9228, 1.2602, 1.5064, 1.7915, 1.984, 2.232, 2.5692, + 0.1832, 0.2985, 0.4205, 0.598, 0.762, 0.9894, 1.7499, 2.1151, 2.4814, 2.7214, + 0.2234, 0.3207, 0.5457, 0.9799, 1.2074, 1.7079, 1.9734, 2.1742, 2.4575, 2.6366, + 0.3598, 0.4819, 0.6385, 0.8878, 1.3226, 1.491, 1.7257, 1.9456, 2.2061, 2.4579, + 0.4671, 0.5911, 0.8513, 1.0923, 1.5104, 1.7043, 1.9727, 2.1839, 2.4484, 2.6111, + 0.2418, 0.3937, 0.542, 0.8971, 1.1152, 1.3054, 1.7928, 1.9796, 2.5441, 2.7572, + 0.3541, 0.473, 0.6546, 0.9063, 1.0792, 1.2743, 1.8545, 2.0555, 2.3083, 2.5404, + 0.3121, 0.4016, 0.7137, 0.8835, 1.0736, 1.5907, 1.8624, 2.0857, 2.5075, 2.6668, + 0.2232, 0.3631, 0.5273, 0.7438, 1.0492, 1.2235, 1.5449, 2.2198, 2.516, 2.6852, + 0.2557, 0.3528, 0.5051, 0.6528, 0.8351, 1.5688, 1.8838, 2.1056, 2.4401, 2.6111, + 0.4342, 0.5318, 0.9234, 1.1146, 1.3015, 1.5198, 1.8211, 2.034, 2.3694, 2.5506, + 0.431, 0.5269, 0.7431, 0.9018, 1.0734, 1.5196, 1.8267, 2.0244, 2.4508, 2.6177, + 0.215, 0.3249, 0.4966, 0.9434, 1.1627, 1.3497, 1.8003, 2.0045, 2.3567, 2.5909, + 0.2798, 0.4111, 0.5786, 0.7971, 1.0414, 1.2142, 1.6947, 2.0866, 2.3351, 2.5545, + 0.1688, 0.2693, 0.4004, 0.6337, 1.3058, 1.5064, 1.7535, 1.9689, 2.5542, 2.7424, + 0.4419, 0.6209, 1.0127, 1.2135, 1.4104, 1.6111, 1.882, 2.1005, 2.4238, 2.5966, + 0.3645, 0.512, 0.8977, 1.2209, 1.5286, 1.7204, 1.9787, 2.1779, 2.439, 2.6114, + 0.2897, 0.4136, 0.5504, 0.8515, 1.2641, 1.4334, 1.8079, 2.0656, 2.3509, 2.7593, + 0.1611, 0.4723, 0.742, 1.0071, 1.2571, 1.5891, 1.9224, 2.2345, 2.5647, 2.7991, + 0.2528, 0.4178, 0.8909, 1.3117, 1.6622, 1.8641, 2.1017, 2.2974, 2.5299, 2.6982, + 0.1749, 0.27, 0.4116, 0.6036, 1.143, 1.7776, 2.0394, 2.222, 2.4667, 2.6598, + 0.3451, 0.4325, 0.6194, 0.7406, 0.9176, 1.554, 1.8426, 2.0479, 2.4401, 2.5965, + 0.3672, 0.5164, 0.6558, 0.8441, 1.2332, 1.4114, 1.6955, 2.0875, 2.3674, 2.5471, + 0.2194, 0.3467, 0.7384, 1.1079, 1.5398, 1.8437, 2.1212, 2.3296, 2.58, 2.7403, + 0.1525, 0.2343, 0.3915, 0.6843, 1.0517, 1.502, 1.7905, 1.9667, 2.2027, 2.6725, + 0.3531, 0.5908, 0.7462, 0.9441, 1.2774, 1.4743, 1.8268, 2.1059, 2.4478, 2.6484, + 0.3611, 0.4981, 0.7598, 0.9676, 1.4024, 1.633, 1.9094, 2.1433, 2.4408, 2.613, + 0.2153, 0.3366, 0.4974, 0.6693, 1.1944, 1.6791, 1.9002, 2.1105, 2.41, 2.5922, + 0.2421, 0.3392, 0.5123, 0.9818, 1.5411, 1.7092, 1.9989, 2.1981, 2.5659, 2.7656, + 0.2116, 0.325, 0.4845, 0.8021, 1.0088, 1.2158, 1.8038, 2.0223, 2.2975, 2.581, + 0.1902, 0.2942, 0.8003, 1.1086, 1.3606, 1.6008, 1.8956, 2.1328, 2.4481, 2.6405, + 0.2772, 0.3914, 0.5826, 0.7654, 0.9495, 1.124, 1.3949, 2.0411, 2.3891, 2.5959, + 0.2678, 0.522, 0.763, 1.1, 1.3747, 1.6432, 1.9391, 2.2237, 2.5511, 2.7893, + 0.32, 0.4245, 0.6174, 0.9904, 1.1662, 1.3882, 1.7601, 1.9524, 2.3998, 2.5819, + 0.1702, 0.4871, 0.837, 1.0989, 1.3593, 1.583, 1.875, 2.1277, 2.4666, 2.6885, + 0.228, 0.3748, 0.6554, 0.9113, 1.2081, 1.4619, 1.8181, 2.0541, 2.3791, 2.5701, + 0.1752, 0.4363, 0.6454, 0.8798, 1.1079, 1.5367, 1.8667, 2.1716, 2.4804, 2.7249, + 0.3804, 0.47, 0.8224, 1.0099, 1.1892, 1.5906, 1.8879, 2.0907, 2.4544, 2.6238, + 0.1808, 0.291, 0.4683, 0.7059, 0.898, 1.4031, 1.7063, 1.9444, 2.4658, 2.6776, + 0.2418, 0.3803, 0.5443, 0.7589, 1.1496, 1.3185, 1.5451, 1.7433, 2.131, 2.6523, + 0.2698, 0.369, 0.5362, 1.0732, 1.2921, 1.4696, 1.744, 1.947, 2.5051, 2.6841, + 0.4099, 0.5102, 0.6983, 1.0468, 1.2459, 1.4185, 1.8851, 2.0815, 2.3464, 2.5605, + 0.0669, 0.1354, 0.3764, 0.8433, 1.1719, 1.4834, 1.8181, 2.1312, 2.4626, 2.8044, + 0.1614, 0.2372, 0.3878, 0.5708, 1.2759, 1.495, 1.8052, 2.0807, 2.3485, 2.6293, + 0.1688, 0.2875, 0.4301, 0.9059, 1.2361, 1.4054, 1.8057, 1.9924, 2.5589, 2.7495, + 0.2864, 0.3783, 0.7032, 1.0817, 1.2382, 1.5741, 1.8619, 2.0656, 2.5139, 2.6848, + 0.3829, 0.4781, 0.6766, 0.834, 1.0056, 1.4147, 1.665, 1.884, 2.3922, 2.5619, + 0.3259, 0.4187, 0.6139, 0.7338, 1.1831, 1.6497, 1.9, 2.1278, 2.4322, 2.593, + 0.2569, 0.379, 0.5426, 0.839, 0.9871, 1.485, 1.8652, 2.0732, 2.4314, 2.6005, + 0.1408, 0.2283, 0.4024, 0.8784, 1.1485, 1.4003, 1.7004, 1.9205, 2.3723, 2.6522, + 0.2971, 0.5039, 0.8005, 1.1212, 1.4232, 1.7801, 2.1255, 2.3907, 2.6795, 2.8487, + 0.1515, 0.2344, 0.4684, 0.804, 1.0401, 1.3774, 1.8329, 2.1235, 2.5555, 2.777, + 0.5778, 0.7157, 0.891, 1.0966, 1.4235, 1.6482, 1.9551, 2.1831, 2.4572, 2.6234, + 0.3017, 0.4161, 0.8088, 0.9971, 1.2, 1.4419, 1.7867, 2.0224, 2.3473, 2.54, + 0.1208, 0.2814, 0.6564, 0.9448, 1.2377, 1.5663, 1.9084, 2.2112, 2.5583, 2.8155, + 0.2127, 0.3127, 0.4635, 0.6416, 0.8449, 1.6652, 2.0577, 2.2656, 2.5811, 2.7434, + 0.1942, 0.3011, 0.4212, 0.6901, 1.5369, 1.7639, 1.9608, 2.1766, 2.4435, 2.6663, + 0.351, 0.4345, 0.7146, 0.9086, 1.0678, 1.2579, 1.4425, 2.0265, 2.4574, 2.6252, + 0.3225, 0.4323, 0.6168, 0.858, 1.5388, 1.791, 1.9927, 2.2013, 2.4494, 2.616, + 0.2271, 0.4488, 0.6287, 0.7857, 1.2086, 1.383, 1.6194, 2.1955, 2.5236, 2.6945, + 0.2568, 0.351, 0.5613, 1.05, 1.2521, 1.4359, 1.6995, 1.9187, 2.2148, 2.4275, + 0.2933, 0.3941, 0.6128, 0.8899, 1.072, 1.2862, 1.5331, 1.8301, 2.1553, 2.3865, + 0.348, 0.4626, 0.6009, 0.763, 0.9044, 1.1225, 1.8539, 2.1845, 2.5035, 2.7091, + 0.1337, 0.4722, 0.8099, 1.1273, 1.4252, 1.699, 2.0188, 2.2922, 2.6018, 2.8168, + 0.1138, 0.3263, 0.8059, 1.0473, 1.3262, 1.6202, 1.9439, 2.2007, 2.5347, 2.7702, + 0.1979, 0.313, 0.4635, 0.8504, 1.1143, 1.3221, 2.0371, 2.2421, 2.5406, 2.7491, + 0.3321, 0.4194, 0.8239, 1.0458, 1.1981, 1.3733, 1.5661, 1.9985, 2.3747, 2.5416, + 0.3729, 0.5958, 0.9551, 1.265, 1.5484, 1.9255, 2.2256, 2.4809, 2.7276, 2.8935, + 0.1664, 0.2516, 0.5347, 0.7545, 1.1971, 1.4089, 1.74, 2.0871, 2.4098, 2.6795, + 0.237, 0.3178, 0.6123, 1.3315, 1.547, 1.7257, 2.0063, 2.1977, 2.5449, 2.7252, + 0.203, 0.3328, 0.4766, 0.7357, 1.278, 1.4439, 1.7229, 1.9405, 2.2278, 2.6816, + 0.1702, 0.2919, 0.4598, 0.7123, 0.9077, 1.145, 1.8632, 2.0806, 2.499, 2.71, + 0.2421, 0.3578, 0.54, 0.7217, 0.8971, 1.4898, 1.8518, 2.1205, 2.6077, 2.7894, + 0.303, 0.3935, 0.5812, 0.7404, 0.9425, 1.8342, 2.0887, 2.2811, 2.5596, 2.7118, + 0.1322, 0.1997, 0.3466, 0.6981, 1.1811, 1.4849, 1.8594, 2.1114, 2.4708, 2.7804, + 0.2317, 0.3069, 0.686, 1.4306, 1.7121, 1.8671, 2.1249, 2.2995, 2.5705, 2.7456, + 0.3778, 0.4863, 0.6639, 0.9163, 1.156, 1.3186, 1.5389, 1.7169, 2.1603, 2.5797, + 0.2118, 0.3499, 0.5259, 0.72, 1.1348, 1.314, 1.5657, 2.0241, 2.2873, 2.5184, + 0.2902, 0.4368, 0.6331, 0.8971, 1.3102, 1.5219, 1.8674, 2.1512, 2.4708, 2.6809, + 0.1418, 0.3988, 0.6251, 0.8544, 1.1268, 1.3964, 1.7585, 2.0322, 2.3964, 2.6928, + 0.2314, 0.3462, 0.7282, 0.9211, 1.1766, 1.4941, 1.7368, 1.9546, 2.517, 2.7066, + 0.2076, 0.3251, 0.7423, 0.959, 1.1936, 1.5329, 1.8887, 2.1588, 2.4667, 2.6709, + 0.2058, 0.4139, 0.5745, 0.7832, 0.9595, 1.1688, 1.7561, 1.9562, 2.484, 2.7001, + 0.1834, 0.2971, 0.4643, 0.6625, 0.8802, 1.1137, 1.5183, 1.8417, 2.3842, 2.7042, + 0.1688, 0.4218, 0.707, 1.0465, 1.4496, 1.6953, 1.956, 2.2174, 2.5172, 2.7404, + 0.2323, 0.3981, 0.5489, 0.7227, 1.2886, 1.5221, 1.7158, 2.1184, 2.4066, 2.5898, + 0.347, 0.5265, 0.814, 1.0152, 1.3206, 1.5411, 1.849, 2.0588, 2.3556, 2.5393, + 0.1707, 0.2595, 0.6762, 0.9037, 1.2781, 1.4903, 1.7946, 2.061, 2.3741, 2.5771, + 0.1457, 0.2318, 0.6039, 1.0078, 1.3461, 1.5908, 1.8818, 2.1248, 2.4432, 2.6714, + 0.6574, 0.8086, 1.0243, 1.2183, 1.4837, 1.7129, 2.0197, 2.2464, 2.5059, 2.6716, + 0.2546, 0.4983, 0.8674, 1.2536, 1.6704, 1.9529, 2.2134, 2.4319, 2.6532, 2.8109, + 0.2455, 0.3379, 0.4632, 0.8635, 1.5286, 1.8047, 1.9909, 2.1806, 2.4031, 2.5729, + 0.4772, 0.6742, 1, 1.2474, 1.5288, 1.7415, 2.0102, 2.2168, 2.477, 2.6449, + 0.3357, 0.4382, 0.6033, 1.1317, 1.3681, 1.5576, 1.9251, 2.1119, 2.5548, 2.7395, + 0.2588, 0.7015, 0.8953, 1.083, 1.2828, 1.516, 1.8965, 2.1921, 2.515, 2.7258, + 0.2466, 0.3512, 0.5047, 0.6646, 0.8161, 1.2577, 1.8046, 2.0214, 2.4447, 2.6491, + 0.1631, 0.2283, 0.407, 0.5955, 1.1126, 1.3894, 1.8978, 2.1849, 2.5384, 2.7382, + 0.3424, 0.4748, 0.6222, 0.802, 0.9706, 1.1568, 1.7044, 1.9297, 2.2127, 2.5627, + 0.2088, 0.5143, 0.74, 0.9277, 1.1032, 1.3561, 1.8841, 2.2004, 2.5882, 2.7993, + 0.2016, 0.3488, 0.5894, 0.7419, 1.1488, 1.3626, 1.5566, 1.9694, 2.5488, 2.7209, + 0.2558, 0.3914, 0.536, 0.7521, 1.433, 1.6955, 1.8886, 2.1428, 2.419, 2.5966, + 0.4021, 0.5034, 0.6653, 0.8123, 0.9586, 1.2825, 1.9184, 2.112, 2.409, 2.597, + 0.2343, 0.48, 0.6934, 0.8523, 1.2786, 1.4763, 1.7235, 2.04, 2.3602, 2.5562, + 0.246, 0.3687, 0.5325, 0.7044, 1.1488, 1.3608, 1.8112, 2.0757, 2.4183, 2.663, + 0.1616, 0.3644, 0.5725, 0.9166, 1.2481, 1.4938, 1.8388, 2.1175, 2.4712, 2.7464, + 0.376, 0.4841, 0.635, 1.0082, 1.211, 1.4003, 1.8127, 2.0018, 2.5199, 2.7238, + 0.1988, 0.2824, 0.6553, 1.0337, 1.5413, 1.7369, 1.9751, 2.1751, 2.4372, 2.6265, + 0.2728, 0.4094, 0.7498, 1.0645, 1.3516, 1.5946, 1.991, 2.2172, 2.483, 2.6614, + 0.1657, 0.5327, 0.7281, 0.9966, 1.2385, 1.4629, 1.8119, 2.0973, 2.4469, 2.6979, + 0.1413, 0.2098, 0.354, 0.5492, 0.8486, 1.1288, 1.632, 1.9056, 2.2805, 2.5438, + 0.2856, 0.3666, 0.6259, 1.1424, 1.6605, 1.8197, 2.0147, 2.1986, 2.4121, 2.5919, + 0.2725, 0.4829, 0.765, 1.0119, 1.2977, 1.5488, 1.8755, 2.1155, 2.4383, 2.6377, + 0.2736, 0.3804, 0.5537, 1.0258, 1.2269, 1.4186, 1.9718, 2.1468, 2.5665, 2.7689, + 0.2341, 0.5953, 1.103, 1.4549, 1.7361, 1.9758, 2.2126, 2.4213, 2.6405, 2.8181, + 0.2273, 0.4638, 0.6228, 0.85, 1.1016, 1.2823, 1.7094, 1.9523, 2.2669, 2.7029, + 0.2438, 0.3798, 0.7299, 0.96, 1.3765, 1.6104, 1.8644, 2.1161, 2.5073, 2.7137, + 0.1551, 0.4869, 0.8676, 1.2274, 1.5069, 1.8857, 2.1868, 2.4411, 2.7106, 2.8767, + 0.2746, 0.5454, 0.7589, 0.9458, 1.1597, 1.3349, 1.6653, 2.1142, 2.4356, 2.6239, + 0.1793, 0.2646, 0.4344, 0.7482, 1.1502, 1.3733, 1.8558, 2.0817, 2.3248, 2.5171, + 0.2698, 0.4202, 0.5765, 0.8301, 1.0073, 1.2101, 1.9714, 2.2051, 2.5138, 2.7395, + 0.1929, 0.3091, 0.446, 0.6266, 1.1805, 1.3672, 1.599, 2.1514, 2.4729, 2.6468, + 0.1901, 0.3047, 0.4607, 1.1019, 1.3168, 1.5343, 1.9234, 2.1365, 2.5924, 2.7807, + 0.3139, 0.5009, 0.67, 0.8268, 1.0117, 1.181, 1.6539, 2.1984, 2.4828, 2.6576, + 0.1403, 0.2173, 0.4117, 0.7302, 1.0038, 1.2732, 1.7392, 2.0337, 2.3809, 2.7386, + 0.4166, 0.5101, 0.7449, 1.1663, 1.3492, 1.5543, 1.9, 2.0941, 2.4588, 2.6365, + 0.3342, 0.4335, 0.616, 0.8559, 1.0112, 1.2097, 1.4029, 1.6361, 2.4129, 2.6324, + 0.4543, 0.6159, 0.7932, 0.9843, 1.2562, 1.4308, 1.7116, 1.9919, 2.2671, 2.4631, + 0.2153, 0.3609, 0.5302, 0.7089, 0.8756, 1.0376, 1.6496, 2.2826, 2.568, 2.7441, + 0.438, 0.6439, 0.8282, 1.0651, 1.365, 1.5829, 1.8838, 2.1005, 2.4006, 2.5771, + 0.2523, 0.3636, 0.5879, 1.1628, 1.3542, 1.6756, 2.0488, 2.2543, 2.6093, 2.7953, + 0.4179, 0.5426, 0.7065, 0.8996, 1.0684, 1.3146, 1.9705, 2.2021, 2.5051, 2.7061, + 0.1659, 0.286, 0.6693, 0.9229, 1.3959, 1.6544, 1.9709, 2.2257, 2.5236, 2.746, + 0.254, 0.4356, 0.5946, 0.7627, 1.2274, 1.4222, 1.6573, 1.9601, 2.2514, 2.4711, + 0.1633, 0.2337, 0.3698, 0.5421, 1.1757, 1.5916, 2.1561, 2.3371, 2.5534, 2.7737, + 0.1953, 0.273, 0.4521, 1.2005, 1.7062, 1.8627, 2.1313, 2.3266, 2.5906, 2.7667, + 0.3053, 0.4054, 0.5651, 0.747, 0.891, 1.172, 1.8864, 2.1074, 2.3705, 2.5744, + 0.1761, 0.3033, 0.6501, 0.8268, 1.0369, 1.2687, 1.8534, 2.1889, 2.5074, 2.7339, + 0.2265, 0.399, 1.1359, 1.4137, 1.6839, 1.8912, 2.0948, 2.3042, 2.5489, 2.7234, + 0.3326, 0.54, 0.8711, 1.0948, 1.3752, 1.6155, 1.936, 2.1537, 2.4451, 2.6133, + 0.2162, 0.3522, 0.5309, 0.747, 0.9677, 1.1747, 1.5056, 1.7942, 2.1615, 2.48, + 0.1872, 0.2761, 0.4053, 0.7469, 1.5858, 1.8945, 2.1198, 2.3197, 2.5819, 2.7758, + 0.5381, 0.8651, 1.2695, 1.4918, 1.7774, 1.9696, 2.1865, 2.3687, 2.5739, 2.7158, + 0.2663, 0.3422, 0.6098, 1.212, 1.4516, 1.6092, 1.8506, 2.0376, 2.2929, 2.5088, + 0.1904, 0.3051, 0.5663, 0.7391, 1.1589, 1.5705, 1.8756, 2.1653, 2.5518, 2.7693, + 0.1543, 0.3519, 0.6976, 1.0664, 1.3696, 1.7817, 2.1308, 2.4259, 2.707, 2.8753, + 0.3304, 0.4283, 0.5942, 0.7425, 0.8906, 1.4067, 2.0676, 2.246, 2.5394, 2.7006, + 0.208, 0.3215, 0.6278, 0.7882, 1.3123, 1.5592, 1.8048, 2.0831, 2.4303, 2.6266, + 0.1188, 0.2481, 0.827, 1.242, 1.5824, 1.8976, 2.1816, 2.4248, 2.6645, 2.8459, + 0.0635, 0.1528, 0.5973, 0.9377, 1.2653, 1.5465, 1.8818, 2.1681, 2.5089, 2.7924, + 0.3249, 0.5179, 0.9143, 1.2973, 1.4966, 1.755, 2.0715, 2.3166, 2.65, 2.8305, + 0.1918, 0.3107, 0.4506, 0.6994, 1.3463, 1.5348, 1.8447, 2.1903, 2.448, 2.6877, + 0.3405, 0.4644, 0.7232, 0.9199, 1.2611, 1.5175, 1.8446, 2.0652, 2.3915, 2.5781, + 0.3289, 0.5152, 0.6602, 1.0213, 1.1886, 1.5496, 1.9553, 2.1883, 2.5394, 2.7362, + 0.3, 0.4097, 0.8372, 1.0793, 1.3095, 1.5684, 1.8746, 2.0783, 2.3643, 2.549, + 0.2421, 0.328, 0.5288, 0.9261, 1.6911, 1.8959, 2.1013, 2.2823, 2.5238, 2.696, + 0.107, 0.3131, 0.6226, 0.8881, 1.1808, 1.4867, 1.8146, 2.1088, 2.4594, 2.7186, + 0.44, 0.5533, 0.7025, 0.9206, 1.4089, 1.582, 1.808, 2.0832, 2.3577, 2.53, + 0.225, 0.3434, 0.4808, 0.6721, 0.8198, 1.1446, 2.0201, 2.2625, 2.552, 2.7604, + 0.1671, 0.2551, 0.4603, 0.6777, 0.9661, 1.5579, 1.8659, 2.1196, 2.4425, 2.6551, + 0.391, 0.5877, 1.0287, 1.3547, 1.6899, 1.9166, 2.1451, 2.3337, 2.5519, 2.7071, + 0.1435, 0.2165, 0.3968, 0.8376, 1.2572, 1.5298, 1.8791, 2.1352, 2.4636, 2.7011, + 0.1756, 0.2799, 0.412, 0.5808, 0.7573, 1.334, 1.8235, 2.12, 2.4993, 2.7365, + 0.1332, 0.2174, 0.4716, 0.9483, 1.2723, 1.6028, 1.9272, 2.219, 2.5588, 2.799, + 0.2122, 0.3143, 0.7042, 0.8849, 1.1312, 1.3711, 1.6832, 1.9633, 2.2685, 2.5156, + 0.2089, 0.3339, 0.4817, 0.8526, 1.0657, 1.2741, 1.5747, 1.8, 2.486, 2.6843, + 0.1636, 0.2617, 0.44, 0.7357, 1.0355, 1.2638, 1.5672, 1.8504, 2.1904, 2.6588, + 0.1945, 0.2934, 0.4869, 0.8567, 1.1262, 1.3604, 1.6898, 1.9143, 2.1475, 2.3503, + 0.1606, 0.2442, 0.3931, 0.9237, 1.5811, 1.7529, 2.0133, 2.2272, 2.525, 2.7265, + 0.4866, 0.7045, 1.0593, 1.2795, 1.5326, 1.8221, 2.1461, 2.3665, 2.6041, 2.7599, + 0.4012, 0.4911, 0.7103, 0.8585, 1.0495, 1.7244, 2.0116, 2.2041, 2.5189, 2.6643, + 0.4365, 0.6694, 0.8644, 1.133, 1.451, 1.7627, 2.1032, 2.369, 2.628, 2.8306, + 0.2072, 0.4018, 0.6227, 0.8913, 1.3038, 1.6056, 1.9704, 2.2816, 2.6135, 2.8182, + 0.3302, 0.4968, 0.8713, 1.0761, 1.2576, 1.4654, 1.8152, 2.14, 2.5404, 2.7493, + 0.1385, 0.2292, 0.353, 0.6006, 1.4699, 1.6571, 1.9438, 2.1663, 2.5027, 2.7308, + 0.1894, 0.2915, 0.4345, 0.6341, 1.0024, 1.1896, 1.6896, 2.0966, 2.4086, 2.6768, + 0.3841, 0.5197, 0.8889, 1.148, 1.4383, 1.6285, 1.8642, 2.0669, 2.3466, 2.5325, + 0.2008, 0.3097, 0.4664, 0.6638, 1.2798, 1.494, 1.727, 2.0264, 2.2915, 2.475, + 0.1864, 0.2857, 0.4481, 1.1025, 1.3096, 1.5035, 1.7614, 1.9891, 2.4255, 2.6031, + 0.4081, 0.6134, 0.9514, 1.1818, 1.3943, 1.6361, 1.9891, 2.2395, 2.5547, 2.7287, + 0.2964, 0.3876, 0.945, 1.2247, 1.3906, 1.5882, 1.8241, 2.0589, 2.4188, 2.5871, + 0.3127, 0.4038, 0.6168, 1.081, 1.3067, 1.4759, 1.8817, 2.0781, 2.3394, 2.5539, + 0.2066, 0.3059, 0.4989, 0.7132, 0.9066, 1.446, 1.7584, 1.9755, 2.221, 2.4741, + 0.2634, 0.3956, 0.5667, 0.8777, 1.0517, 1.6029, 2.059, 2.2607, 2.6064, 2.7647, + 0.4331, 0.5315, 0.7764, 1.0444, 1.2269, 1.4311, 1.7093, 1.9187, 2.4337, 2.6149, + 0.2161, 0.4429, 0.6851, 0.8336, 1.1037, 1.2966, 1.5283, 2.0299, 2.3407, 2.5384, + 0.2814, 0.3637, 0.5416, 0.9475, 1.5137, 1.6945, 1.8892, 2.1017, 2.319, 2.5007, + 0.4454, 0.6883, 1.1402, 1.4098, 1.7435, 2.0014, 2.2521, 2.4457, 2.6495, 2.7985, + 0.1641, 0.4083, 0.6426, 1.0592, 1.3258, 1.5754, 1.8666, 2.1381, 2.4572, 2.7177, + 0.3391, 0.4607, 0.6072, 0.8463, 1.4207, 1.6062, 1.8303, 2.0887, 2.3615, 2.5348, + 0.2414, 0.3396, 0.51, 0.747, 1.3329, 1.8618, 2.0751, 2.2564, 2.5147, 2.6874, + 0.1694, 0.2535, 0.4156, 0.8302, 1.2853, 1.5838, 2.0907, 2.3085, 2.5929, 2.7951, + 0.2047, 0.3652, 0.65, 0.8068, 1.0178, 1.1865, 1.4889, 2.0671, 2.5966, 2.7634, + 0.2425, 0.3247, 0.602, 1.2226, 1.4272, 1.5996, 1.8377, 2.0413, 2.5333, 2.7021, + 0.3842, 0.503, 0.6541, 0.8771, 1.0576, 1.2612, 1.6744, 1.8735, 2.4781, 2.6803, + 0.2042, 0.328, 0.7283, 0.8985, 1.1444, 1.3299, 1.6032, 2.1539, 2.4739, 2.6547, + 0.1268, 0.1924, 0.3208, 0.5153, 1.1304, 1.4443, 1.8047, 2.0552, 2.4385, 2.7572, + 0.2713, 0.3659, 0.5395, 1.0705, 1.4228, 1.5836, 1.9763, 2.1641, 2.4459, 2.6301, + 0.3047, 0.4043, 0.5727, 0.7368, 0.8997, 1.3242, 1.6473, 1.8879, 2.433, 2.6295, + 0.1224, 0.3948, 0.6903, 0.9199, 1.2852, 1.5516, 1.8645, 2.1231, 2.4657, 2.7044, + 0.2157, 0.3281, 0.5036, 0.9272, 1.0975, 1.5285, 1.808, 2.0569, 2.5448, 2.7221, + 0.167, 0.249, 0.3696, 0.5921, 1.3019, 1.8398, 2.2165, 2.3725, 2.6142, 2.8338, + 0.3899, 0.5573, 0.81, 1.0732, 1.3966, 1.6598, 2.0001, 2.2517, 2.5548, 2.7403, + 0.4905, 0.6064, 0.8222, 0.9966, 1.1912, 1.5714, 1.9628, 2.1727, 2.53, 2.7055, + 0.1309, 0.2342, 0.6232, 0.8795, 1.1283, 1.3655, 1.7371, 2.0251, 2.3992, 2.6885, + 0.1805, 0.2672, 0.4297, 1.244, 1.4967, 1.6796, 1.9592, 2.1784, 2.5439, 2.7289, + 0.228, 0.5429, 0.6967, 0.8732, 1.4074, 1.6074, 1.9516, 2.2124, 2.5486, 2.7722, + 0.2339, 0.3379, 0.4924, 0.9061, 1.3074, 1.4719, 1.8884, 2.111, 2.3618, 2.5545, + 0.1384, 0.2291, 0.5127, 1.045, 1.4017, 1.7884, 2.1134, 2.3664, 2.6588, 2.8435, + 0.2196, 0.6359, 0.91, 1.2007, 1.4589, 1.7053, 2.0128, 2.2722, 2.552, 2.7643, + 0.1698, 0.2615, 0.381, 0.5706, 1.4297, 1.8686, 2.0728, 2.2559, 2.486, 2.6701, + 0.1445, 0.2158, 0.3658, 0.5451, 0.9389, 1.3669, 1.79, 2.0846, 2.3924, 2.7161, + 0.2789, 0.3816, 0.5277, 0.8487, 1.3751, 1.5461, 1.7832, 2.0264, 2.2695, 2.4665, + 0.1733, 0.3023, 0.9216, 1.2368, 1.4776, 1.7229, 1.9952, 2.2471, 2.539, 2.7265, + 0.3374, 0.5033, 1.0951, 1.3262, 1.5284, 1.7336, 1.9733, 2.2009, 2.4992, 2.6751, + 0.1293, 0.2743, 0.7533, 1.0166, 1.2416, 1.4444, 1.7962, 2.0851, 2.477, 2.7204, + 0.3106, 0.4176, 0.6358, 0.9434, 1.1419, 1.3458, 1.9638, 2.1678, 2.439, 2.6235, + 0.4533, 0.576, 0.7392, 0.9136, 1.0829, 1.2759, 1.7903, 2.036, 2.3124, 2.5325, + 0.3702, 0.5218, 0.6977, 0.8776, 1.1096, 1.2855, 1.5612, 1.948, 2.217, 2.4361, + 0.1637, 0.2647, 0.4185, 0.6666, 1.1584, 1.327, 1.7829, 1.9821, 2.4361, 2.7094, + 0.1769, 0.2767, 0.3942, 0.5746, 1.3595, 1.711, 1.9176, 2.1405, 2.3722, 2.5705, + 0.2712, 0.382, 0.6524, 0.8317, 1.0341, 1.3972, 1.7312, 1.9918, 2.3854, 2.5886, + 0.1003, 0.2046, 0.7261, 1.1004, 1.4057, 1.6697, 1.9903, 2.2603, 2.5813, 2.8009, + 0.2534, 0.3752, 0.7192, 0.9323, 1.3698, 1.5955, 1.8653, 2.0656, 2.3368, 2.534, + 0.3589, 0.4508, 0.6631, 1.0521, 1.5065, 1.6697, 1.8929, 2.1074, 2.3466, 2.5242, + 0.1955, 0.2862, 0.6111, 0.8053, 1.0501, 1.5218, 1.7996, 2.0303, 2.3788, 2.5973, + 0.2982, 0.4033, 0.566, 0.8924, 1.1933, 1.3465, 1.7895, 2.0173, 2.2606, 2.5069, + 0.3356, 0.4711, 0.631, 0.8491, 1.0049, 1.4364, 1.8176, 2.0292, 2.571, 2.7525, + 0.2016, 0.2912, 0.4363, 0.98, 1.4897, 1.6494, 1.8862, 2.0819, 2.3636, 2.6091, + 0.4549, 0.6491, 0.845, 1.0209, 1.1747, 1.3745, 1.8824, 2.113, 2.376, 2.5768, + 0.251, 0.3524, 0.5171, 0.8931, 1.4094, 1.571, 1.8536, 2.0478, 2.4766, 2.732, + 0.1576, 0.2547, 0.3891, 0.8551, 1.4282, 1.588, 1.8583, 2.0521, 2.5359, 2.734, + 0.3481, 0.4382, 0.772, 1.1289, 1.3203, 1.5019, 1.7665, 1.957, 2.2231, 2.4465, + 0.3116, 0.4068, 0.6991, 0.8894, 1.0912, 1.5356, 1.8084, 2.0006, 2.2323, 2.4367, + 0.2706, 0.4033, 0.8272, 1.0851, 1.482, 1.6927, 1.9292, 2.1267, 2.4049, 2.5857, + 0.2745, 0.355, 0.8663, 1.3742, 1.5545, 1.7324, 1.9664, 2.1538, 2.4581, 2.6245, + 0.1736, 0.2553, 0.5357, 0.9009, 1.1888, 1.5132, 1.8579, 2.1181, 2.4273, 2.6847, + 0.3026, 0.4148, 0.9044, 1.1695, 1.3657, 1.7036, 1.9891, 2.2226, 2.5441, 2.7085, + 0.3998, 0.5108, 0.7205, 0.9848, 1.1828, 1.3716, 1.7154, 1.9191, 2.1875, 2.4257, + 0.2141, 0.3095, 0.7428, 1.0426, 1.2851, 1.5571, 1.7901, 1.9804, 2.2462, 2.5265, + 0.1574, 0.229, 0.3869, 0.5735, 1.0925, 1.3383, 1.6598, 1.9364, 2.2095, 2.4195 +}; + /* codebook/lspvqanssi2.txt */ +static const float codes1[] = { + 0.012, 0.0022, 0.0068, -0.0112, -0.0508, -0.049, 0.2249, 0.1476, 0.0133, -0.0379, + 0.0598, 0.0477, 0.038, 0.066, 0.0517, 0.015, 0.0617, 0.0081, -0.0768, -0.1007, + -0.0087, -0.044, 0.0873, 0.0882, 0.0391, -0.006, 0.11, 0.0569, -0.0241, -0.0468, + 0.0146, -0.0005, 0.0322, -0.065, -0.0778, -0.078, -0.0255, -0.0527, -0.0301, -0.0401, + -0.024, -0.056, -0.0374, 0.0274, 0.0484, -0.0227, 0.0328, 0.1135, 0.0117, -0.03, + -0.0324, -0.0574, 0.0302, 0.0137, -0.0603, -0.1194, -0.0105, -0.0513, 0.0698, 0.0538, + 0.0635, 0.0382, 0.0531, 0.0897, 0.0495, 0.0039, -0.0421, -0.0919, 0.0407, 0.0167, + 0.0954, 0.0854, 0.036, -0.0025, -0.0252, -0.0528, -0.0435, -0.0561, -0.0405, -0.0432, + 0.011, -0.001, -0.0433, -0.0167, 0.1402, 0.0738, 0.0423, -0.0024, -0.092, -0.1099, + 0.0179, 0.0184, -0.0041, -0.064, 0.1004, 0.0608, -0.0023, -0.0357, 0.1509, 0.1262, + -0.0145, -0.024, -0.0595, -0.1063, 0.0597, -0.004, -0.0886, 0.1184, 0.038, 0.0126, + -0.0072, 0.0172, 0.0076, 0.0288, 0.081, 0.0278, 0.0709, 0.0051, 0.0214, -0.0301, + 0.0127, -0.0126, -0.0434, 0.161, 0.1178, 0.0704, 0.0257, -0.0073, -0.0425, -0.061, + -0.0165, -0.0369, -0.0785, 0.1007, 0.0309, -0.0651, 0.0142, -0.0614, 0.0426, 0.0289, + -0.0374, -0.0712, 0.0049, -0.0382, 0.0472, 0.0095, -0.0268, -0.0747, -0.0457, -0.0758, + -0.0211, -0.0432, -0.0547, -0.0446, -0.1078, 0.009, -0.0565, -0.1298, 0.0721, 0.0351, + -0.0014, -0.0072, -0.0283, -0.0324, -0.0208, -0.0703, 0.0979, 0.0865, -0.0007, 0.1881, + -0.0077, -0.0302, 0.1231, 0.0905, 0.0786, 0.0432, -0.0286, -0.0661, -0.0055, -0.0275, + 0.001, 0.0043, 0.0044, 0.038, -0.1201, -0.0098, -0.0166, 0.0105, 0.0153, 0.0134, + 0.0843, 0.0636, 0.0416, -0.0004, -0.057, -0.0592, 0.1158, 0.059, 0.0126, 0.0034, + 0.0346, 0.029, -0.0037, -0.0026, -0.0457, 0.1824, 0.1469, 0.087, 0.0291, -0.0074, + 0.0066, 0.0682, -0.0148, 0.0287, 0.0095, -0.0563, 0.1296, 0.0426, 0.1215, 0.0886, + -0.0132, -0.0399, 0.096, 0.0474, 0.014, 0.0306, -0.0192, -0.0703, -0.1559, -0.1556, + -0.06, 0.0482, 0.1257, 0.0521, 0.0229, -0.0031, 0.0817, 0.0571, -0.0138, -0.0277, + 0.0013, -0.0103, -0.047, -0.0687, -0.1444, 0.0181, 0.135, 0.0559, -0.0177, -0.0598, + -0.0215, -0.0318, -0.0689, -0.0268, 0.0917, 0.0307, 0.0135, -0.0184, -0.0857, 0.1231, + 0.0137, -0.0152, 0.0199, -0.0291, -0.0685, 0.0438, -0.1137, 0.0231, -0.0632, -0.0802, + -0.0011, 0.0314, 0.0535, -0.0135, -0.0291, -0.0579, -0.1049, 0.0288, -0.0628, 0.1355, + -0.0901, 0.0041, -0.017, 0.0351, 0.0144, -0.0505, 0.0396, 0.0638, -0.0145, 0.0141, + -0.04, -0.0603, -0.0714, 0.0329, -0.0049, -0.0529, -0.1251, 0.0022, -0.0449, -0.0778, + 0.0247, 0.0296, 0.0239, 0.0122, -0.0348, -0.1224, -0.0033, 0.1237, -0.0016, -0.0436, + 0.0246, 0.005, 0.0322, 0.0818, 0.0203, 0.0846, 0.0022, 0.0876, 0.0149, -0.0184, + -0.0204, -0.0228, 0.0365, -0.0164, 0.1087, 0.0374, -0.055, 0.033, -0.0582, -0.0736, + -0.0305, -0.0485, -0.0572, 0.0275, -0.0271, -0.0436, 0.1217, 0.07, 0.1253, 0.099, + -0.0079, -0.0204, -0.0325, 0.0491, 0.0158, -0.0365, -0.1309, -0.1812, 0.1428, 0.1148, + 0.068, 0.0547, 0.0309, 0.0079, -0.0332, 0.0391, -0.0287, 0.1258, 0.1123, 0.1016, + -0.0264, -0.0409, -0.0538, -0.0192, -0.0393, -0.0713, -0.0618, -0.1078, -0.185, 0.0532, + 0.0081, -0.0115, -0.009, 0.1201, -0.0413, -0.0995, 0.0445, -0.0032, -0.0286, -0.0497, + -0.0023, -0.0184, -0.0358, 0.1279, 0.0847, 0.053, 0.023, -0.0212, 0.1245, 0.0965, + 0.0111, 0.1038, 0.0597, 0.0413, 0.0533, 0.0011, 0.0031, 0.0705, 0.0242, 0.0198, + 0.002, -0.0071, -0.0262, -0.0496, -0.075, -0.1273, -0.1785, 0.0606, -0.0223, -0.0583, + -0.0202, 0.0669, 0.0081, 0.0335, -0.0218, -0.1073, -0.0146, -0.0673, 0.049, 0.021, + -0.0108, -0.023, -0.0614, -0.0986, 0.0629, 0.0006, 0.1496, 0.1099, 0.0316, 0.0098, + -0.0368, -0.0685, 0.0138, -0.0213, -0.0009, 0.0344, -0.0249, 0.0311, 0.0803, 0.0759, + 0.0038, -0.0158, 0.0142, 0.0254, 0.097, 0.0021, -0.1029, 0.0006, 0.0576, 0.0261, + -0.0083, 0.0698, 0.0406, -0.0348, 0.02, 0.0833, 0.0186, -0.0145, -0.0725, -0.0872, + -0.0506, -0.0673, 0.0776, -0.0172, -0.0444, -0.0531, -0.0799, 0.0005, -0.0359, -0.0446, + 0.0368, 0.0376, -0.0407, -0.019, 0.0987, 0.0212, -0.0349, -0.0951, -0.0084, -0.0342, + -0.0309, -0.0561, 0.095, -0.0125, -0.1028, -0.0133, 0.092, 0.0965, 0.0668, 0.0409, + -0.0898, 0.0036, -0.0353, -0.0024, -0.0365, -0.0259, -0.0485, -0.0843, -0.0063, -0.0167, + -0.0255, -0.0407, -0.0456, -0.0931, -0.0892, -0.0293, -0.051, 0.0183, -0.0104, 0.0472, + -0.0172, -0.0399, -0.0731, 0.0546, 0.032, -0.0283, 0.0415, -0.0107, -0.1237, -0.1102, + 0.021, 0.0294, -0.0038, -0.009, -0.0551, -0.0922, 0.0261, -0.0334, -0.1181, -0.1536, + 0.0092, 0.0032, -0.0162, 0.0398, 0.0205, 0.1266, -0.0107, -0.0858, 0.0392, 0.0032, + -0.0038, -0.0269, -0.0737, 0.1138, 0.0263, -0.0031, -0.1188, 0.1621, 0.0831, 0.0526, + 0.0023, -0.0149, -0.0497, 0.0898, 0.0456, -0.0145, -0.0928, -0.1507, -0.0611, -0.0938, + 0.012, 0.0124, -0.0286, -0.1319, 0.0219, 0.0311, -0.0398, -0.0465, -0.0008, -0.0375, + 0.0138, 0.0023, 0.0024, 0.1072, 0.0531, 0.0006, 0.0292, -0.0115, -0.062, 0.165, + 0.007, -0.0251, 0.0715, 0.038, -0.0404, 0.123, 0.0629, 0.0096, 0.0973, 0.0641, + -0.0586, 0.0772, 0.0128, 0.106, 0.0715, 0.0374, -0.0074, -0.0365, -0.0543, -0.0489, + -0.0392, 0.0871, -0.0069, -0.1084, 0.0264, -0.0495, 0.0396, 0.0005, -0.0293, -0.024, + -0.0327, 0.0605, 0.0662, 0.01, -0.0007, -0.0525, -0.0812, -0.0686, -0.0873, -0.083, + 0.0119, 0.0058, 0.003, -0.0307, 0.065, 0.0175, -0.0741, -0.15, -0.1947, 0.0881, + 0.0572, 0.0411, 0.0152, -0.0127, -0.0589, -0.051, -0.0212, -0.0834, 0.1434, 0.1318, + 0.0518, 0.0417, -0.043, 0.0963, -0.0014, 0.0173, 0.0234, -0.0273, 0.0359, -0.0118, + 0.0652, 0.0587, 0.0013, -0.07, 0.1262, 0.0975, 0.068, 0.0598, 0.0048, -0.0305, + -0.0185, -0.044, 0.1178, 0.0656, 0.0052, -0.0534, -0.1151, 0.1116, 0.0659, 0.0344, + 0.0788, 0.0577, 0.0452, 0.0283, -0.0278, 0.0911, 0.028, -0.0254, 0.0029, -0.0361, + -0.0165, -0.0322, -0.0526, -0.1057, 0.0927, 0.0293, -0.1026, -0.1671, 0.047, 0.0355, + 0.01, 0.0001, -0.0221, -0.0775, -0.1109, -0.1416, 0.0884, 0.0441, 0.0632, 0.0409, + 0.0204, 0.0432, 0.0141, -0.0296, 0.1073, 0.058, 0.0383, 0.027, -0.0857, 0.1246, + 0.0488, 0.0231, 0.0648, -0.0179, 0.0747, 0.0156, -0.0384, -0.0733, -0.0732, -0.097, + 0.0005, -0.0199, -0.026, -0.0511, -0.111, 0.067, -0.0413, 0.1571, 0.0498, 0.0191, + 0.0037, -0.0085, -0.0796, 0.0086, -0.0852, 0.085, 0.0115, -0.0065, 0.1161, 0.0727, + 0.0023, 0.0483, 0.0285, -0.0642, -0.0477, 0.0175, 0.0346, 0.0452, 0.0655, 0.0284, + -0.0986, 0.0463, 0.0326, -0.0055, 0.0702, 0.0194, -0.0423, -0.0107, 0.0338, 0.0619, + 0.0126, -0.0138, -0.1115, 0.0159, -0.0331, 0.0217, -0.0376, -0.0407, -0.0222, -0.0503, + 0.0222, 0.0071, -0.049, 0.1017, 0.0551, -0.0164, 0.1578, 0.1059, 0.0025, -0.0107, + 0.0124, -0.009, 0.0322, 0.093, 0.0281, -0.0403, -0.0781, 0.0125, -0.067, -0.1058, + 0.0363, 0.0077, 0.1052, 0.0039, 0.0676, 0.0891, 0.0433, 0.0252, 0.0224, -0.0043, + -0.0045, -0.0194, -0.0193, -0.048, -0.064, -0.0695, -0.1597, -0.003, 0.1728, 0.1231, + 0.0297, 0.0025, 0.0619, -0.0347, -0.1171, 0.1043, 0.0868, 0.0191, -0.0739, -0.1075, + 0.0073, 0.0914, 0.0367, -0.0236, 0.0232, 0.0304, -0.0787, -0.1099, 0.046, 0.0082, + 0.0296, 0.0297, -0.0444, 0.0184, 0.0602, -0.0295, -0.0934, 0.0636, -0.0347, -0.0722, + -0.029, -0.0629, 0.0598, 0.0013, 0.0064, 0.1431, 0.092, 0.0468, -0.0311, -0.0614, + -0.0152, -0.0311, -0.05, -0.0672, -0.1257, -0.0134, -0.022, -0.0612, -0.1131, -0.1417, + 0.0371, 0.0153, -0.0817, -0.0007, 0.0837, 0.0481, 0.046, 0.0678, 0.0524, 0.0432, + 0.0126, -0.0069, -0.0092, -0.0693, -0.025, 0.151, 0.0098, -0.0683, -0.0566, -0.0769, + -0.0199, -0.0423, 0.0806, 0.0562, 0.0009, -0.0563, -0.1358, -0.1578, -0.0456, 0.0032, + 0.0091, 0.0101, -0.009, -0.0279, -0.0489, -0.1038, -0.0815, 0.2184, 0.1172, 0.0902, + -0.0024, -0.0135, 0.0392, 0.0028, 0.0792, 0.0404, 0.0867, 0.161, 0.0954, 0.0846, + -0.0004, -0.022, -0.0282, -0.1022, -0.0799, 0.1278, 0.0765, 0.0402, 0.085, 0.0611, + 0.0443, 0.032, -0.0384, -0.0964, 0.003, -0.0398, -0.073, -0.0052, -0.0267, 0.1209, + -0.0706, 0.1151, 0.0722, -0.0175, -0.0927, -0.0559, 0.0316, 0.0186, 0.0105, 0.0314, + -0.0145, -0.0263, -0.0564, 0.0248, -0.0181, -0.0817, -0.0938, 0.0366, -0.0315, 0.1253, + 0.0307, 0.0039, 0.129, 0.0402, -0.0439, -0.0384, 0.0044, -0.0177, -0.0172, -0.031, + 0.0447, 0.0298, 0.0287, 0.0273, -0.035, -0.0708, -0.1829, -0.0317, 0.0643, 0.0057, + -0.082, -0.0326, 0.0209, -0.0711, 0.0084, 0.0111, 0.0426, 0.0262, -0.0061, 0.0005, + 0.0545, 0.0377, -0.0417, -0.0625, 0.0114, -0.0405, 0.0573, 0.0191, -0.0263, -0.0472, + -0.0053, -0.0049, -0.0255, -0.0578, -0.0237, -0.0721, -0.1487, -0.1636, 0.0046, -0.0355, + 0.0309, 0.0107, 0.0163, 0.0132, -0.0536, -0.0009, -0.0706, -0.135, -0.0514, -0.096, + 0.0306, 0.0003, 0.0494, 0.0701, 0.0027, -0.0458, 0.078, 0.0327, 0.0937, 0.0605, + -0.0017, -0.0275, 0.0797, -0.0268, -0.1014, 0.0593, -0.0528, -0.1103, 0.0682, 0.0322, + -0.0507, -0.0806, -0.0646, -0.0052, -0.0576, 0.0451, 0.0489, 0.015, 0.0029, -0.0189, + 0.027, 0.0143, -0.0375, -0.0071, -0.0607, -0.1157, -0.0345, -0.1115, 0.0201, -0.0104, + -0.0807, -0.1088, 0.0845, 0.072, 0.0441, 0.0301, 0.0043, 0.0052, 0.0016, 0.0201, + -0.029, -0.0532, 0.0036, -0.0201, -0.0723, -0.1321, 0.0867, 0.0479, -0.0556, -0.085, + -0.0271, 0.0126, 0.1283, 0.0533, -0.003, -0.0352, -0.0326, -0.0553, 0.1402, 0.1121, + -0.0358, -0.0518, -0.108, 0.0134, 0.095, 0.0384, -0.004, -0.0254, 0.0026, -0.0217, + -0.0152, -0.0375, -0.0827, 0.0916, 0.0188, 0.1306, 0.0983, 0.0606, 0.0381, 0.008, + -0.0107, -0.0269, -0.0573, -0.1189, 0.0258, 0.1009, 0.0565, 0.027, -0.0557, -0.0778, + -0.0193, -0.0242, -0.0784, -0.0816, 0.0287, -0.0484, 0.0292, -0.0414, 0.1124, 0.0767, + 0.0177, -0.0148, 0.0472, -0.0808, 0.0623, -0.0636, 0.075, -0.0107, 0.0673, 0.0425, + -0.022, 0.0577, -0.0769, -0.0247, -0.0321, 0.0341, -0.0108, 0.0109, -0.0142, 0.0122, + 0.0194, 0.0248, -0.0096, -0.0205, -0.046, -0.116, 0.0492, -0.0188, -0.1535, 0.0816, + 0.0301, -0.0286, -0.0077, -0.0117, -0.0036, -0.0026, 0.0133, -0.0032, 0.0007, -0.016, + 0.0115, -0.0111, 0.0246, -0.0639, 0.0325, -0.0313, 0.0808, 0.0435, -0.0777, -0.1108, + -0.0079, -0.0334, -0.0144, -0.0539, 0.1564, 0.1175, 0.0549, 0.034, 0.0319, 0.0027, + -0.0155, -0.0275, -0.0739, -0.0932, 0.0108, -0.0698, 0.0036, -0.0213, -0.0486, -0.067, + -0.0234, -0.0567, 0.002, 0.0908, -0.0151, 0.046, -0.0175, -0.0523, 0.0098, -0.0237, + 0.0057, -0.0066, -0.0418, 0.0418, -0.0449, 0.1069, 0.0629, -0.0016, -0.1068, -0.1492, + -0.0791, 0.0403, -0.0009, 0.0285, -0.0065, 0.0963, 0.055, 0.0634, 0.0693, 0.0694, + -0.0068, -0.0197, -0.0919, 0.0071, -0.0551, -0.1173, 0.0926, 0.0413, 0.0127, -0.0158, + 0.054, 0.0389, -0.0195, -0.08, -0.1383, 0.044, -0.0139, -0.0405, 0.0147, -0.0183, + 0.038, 0.0248, 0.052, -0.0609, 0.0339, -0.007, -0.0974, 0.1182, 0.0221, -0.031, + 0.0043, 0.0046, -0.0274, -0.0502, 0.0326, -0.0143, -0.0586, -0.0866, -0.1673, -0.1624, + 0.0428, 0.0385, -0.0228, 0.0704, 0.0069, -0.0145, -0.0623, -0.0639, -0.1479, 0.0212, + -0.0078, -0.0297, 0.0025, -0.0239, -0.0793, 0.0896, 0.0315, -0.0546, -0.1309, 0.108 +}; + /* codebook/lspvqanssi3.txt */ +static const float codes2[] = { + -0.0291, 0.0272, -0.0364, -0.0313, -0.0487, -0.0205, 0.0501, 0.0225, 0.0178, 0.008, + -0.0406, -0.0383, 0.0013, -0.0155, -0.0261, -0.0598, 0.0003, -0.0242, 0.0151, -0.014, + -0.0445, 0.0356, 0.018, -0.0272, -0.0018, -0.0177, -0.0703, 0.0471, 0.0128, -0.0068, + -0.0033, -0.0285, -0.056, -0.0186, -0.0499, -0.007, 0.0068, -0.0126, 0.0388, -0.0097, + -0.0071, -0.0114, -0.0308, -0.0094, -0.0541, -0.0272, -0.0756, 0.0477, -0.0234, 0.0678, + 0.0048, 0.0307, -0.0174, -0.0593, 0.0097, -0.0134, 0.0034, -0.0212, -0.0418, 0.0869, + -0.0189, 0.0165, -0.0269, 0.0744, 0.0344, -0.0177, -0.0603, 0.0212, -0.0104, 0.0345, + -0.013, -0.0352, -0.0086, -0.0257, -0.0286, 0.0409, 0.0656, 0.0106, -0.0598, 0.0252, + 0.0041, 0.0097, -0.0032, -0.0154, -0.0405, 0.067, -0.0164, 0.0451, 0.0774, 0.0504, + 0.001, -0.0091, -0.0345, 0.0511, 0.0016, 0.0011, 0.0684, 0.0167, 0.0601, 0.0512, + 0.0204, -0.0038, -0.0426, 0.0185, -0.0191, -0.063, 0.0295, -0.0153, -0.0559, 0.056, + -0.0461, -0.0041, 0.0515, 0.0219, 0.0322, 0.0093, 0.0044, 0.0106, -0.0329, -0.0521, + 0.0304, 0.0017, 0.0209, -0.0002, 0.0689, 0.0136, 0.0216, -0.0268, -0.0682, 0.0333, + -0.0175, -0.0425, 0.0153, -0.005, -0.0113, 0.0297, -0.0659, -0.0344, 0.0302, -0.0272, + -0.0217, -0.0362, 0.0426, 0.0233, -0.0393, 0.0052, 0.0138, 0.0657, 0.0427, 0.022, + -0.0039, -0.0011, -0.0002, -0.0453, -0.0835, 0.0144, -0.0268, -0.0589, -0.0185, 0.0133, + 0.0081, -0.0032, 0.0638, 0.0032, 0.006, 0.0002, -0.0303, -0.0823, 0.0124, -0.0308, + 0.0108, 0.0011, 0.0059, 0.0396, 0.0392, 0.0351, -0.0045, -0.0323, -0.0512, -0.0975, + -0.0144, -0.0306, -0.0302, -0.007, 0.0123, -0.0042, -0.0083, -0.0514, 0.012, 0.1116, + -0.0046, -0.0131, 0.0472, 0.0144, -0.0296, -0.0518, 0.0337, -0.0145, -0.0733, 0.0793, + -0.0064, -0.0162, -0.0327, -0.0711, 0.0108, -0.0131, 0.0025, -0.0254, -0.0277, -0.068, + -0.0306, 0.0055, 0.0272, -0.0189, -0.0173, 0.0221, 0.0773, 0.0043, 0.0458, -0.0169, + -0.0006, 0.0299, 0.0259, 0.0227, -0.053, -0.0596, -0.0271, -0.0091, 0.0181, -0.0233, + -0.0116, -0.0398, 0.0089, 0.0708, -0.0028, -0.0084, -0.0206, -0.0354, -0.0275, -0.0037, + 0.0259, -0.0064, -0.038, 0.0572, 0.0083, 0.0286, -0.0565, 0.0158, 0.0396, -0.0123, + 0.0552, 0.0331, -0.0052, -0.0346, -0.018, -0.0194, -0.0237, 0.0184, 0.0056, -0.0199, + 0.0143, 0.0131, -0.0166, 0.0196, 0.0154, 0.031, -0.0048, 0.0901, -0.0333, 0.0761, + 0.0118, -0.0107, 0.0099, 0.0078, 0.0002, -0.0716, -0.0233, 0.0793, 0.0516, 0.03, + 0.0204, 0.0243, 0.0192, 0.0181, 0.0001, -0.0243, -0.0764, -0.0622, -0.0324, 0.064, + 0.0132, 0.0016, -0.0187, -0.0425, 0.0627, 0.0094, -0.0786, 0.0304, 0.0294, -0.0146, + -0.0221, -0.0154, 0.0285, -0.0709, 0.0406, 0.0114, 0.0073, -0.0199, 0.0081, 0.0268, + 0.0227, 0.0055, 0.0163, -0.0447, 0.0246, 0.0795, 0.0239, 0.0211, -0.0145, -0.0576, + -0.0119, 0.0637, 0.0278, 0.0202, -0.0086, 0.0389, 0.032, -0.0049, -0.0272, -0.0274, + 0.004, -0.0211, 0.0426, 0.048, 0.0415, 0.0659, 0.0408, 0.0198, 0.0327, 0.0029, + 0.043, 0.0311, 0.0083, 0.0353, 0.025, 0.0143, 0.0106, -0.0305, 0.0633, 0.0227, + -0.0277, 0.0302, 0.0337, 0.0176, 0.0191, -0.0156, 0.0231, 0.0118, 0.0465, 0.0875, + 0.0221, 0.0146, 0.0147, -0.0211, -0.0317, -0.0179, -0.0049, -0.0297, -0.1078, -0.0413, + -0.0531, 0.018, -0.0066, 0.0365, -0.0033, 0.009, -0.0158, -0.0698, 0.0315, -0.0048, + 0.0289, 0.0053, 0.0082, 0.0077, -0.0664, 0.0474, 0.0407, -0.0096, 0.0028, -0.0526, + -0.0106, -0.0129, -0.0315, 0.0335, -0.0217, -0.0427, 0.0582, 0.0193, -0.0288, -0.0777, + -0.0003, -0.0141, -0.0102, 0.0007, -0.0077, -0.0517, -0.0909, 0.0128, -0.0349, -0.0769, + -0.0227, -0.0159, -0.0327, 0.0011, 0.0312, 0.01, -0.018, -0.0537, -0.0997, 0.0122, + 0.019, -0.0139, 0.0341, -0.0131, -0.0368, -0.0138, -0.0074, -0.0415, 0.0791, 0.0503, + 0.0182, 0.0027, 0.0032, -0.0325, -0.0309, -0.0898, 0.0509, -0.017, 0.0301, -0.0137, + 0.0233, 0.01, 0.0231, 0.073, 0.0212, -0.0299, 0.044, 0.0041, -0.0101, -0.0251, + 0.0074, -0.0033, -0.0285, -0.035, 0.0101, 0.0735, 0.0036, -0.0659, 0.0429, -0.0052, + 0.0148, -0.0035, -0.0233, 0.0079, -0.0142, -0.0402, -0.0358, -0.0985, -0.008, -0.0549, + 0.0203, 0.0057, -0.0604, 0.0098, 0.0402, 0.0151, 0.05, 0.0058, -0.0086, -0.0401, + 0.0056, -0.0381, 0.042, -0.0125, 0.0157, -0.0268, 0.0433, 0.0123, -0.0176, -0.0685, + 0.003, 0.0502, 0.0067, -0.0222, 0.0405, -0.0226, 0.002, -0.0401, -0.0026, -0.0521, + 0.0317, 0.0089, 0.062, 0.0251, 0.0066, 0.0089, -0.0565, 0.0414, 0.0005, -0.0365, + -0.0058, 0.0086, -0.0291, -0.0164, -0.0134, -0.049, -0.0427, -0.0451, 0.0869, 0.0334, + 0.0024, 0.0328, -0.0415, 0.0003, -0.0287, 0.0193, -0.0547, -0.0222, -0.0196, -0.0571, + -0.0271, -0.0397, -0.0431, -0.0043, 0.0332, 0.0093, 0.0082, 0.0585, 0.0282, 0.0004, + -0.0251, -0.0167, -0.0289, 0.0196, -0.0363, 0.085, 0.0028, 0.0319, -0.0202, -0.0512, + 0.0389, 0.0226, 0.0401, -0.0091, -0.0152, 0.0001, 0.0738, 0.0402, 0.0097, 0.031, + -0.0126, 0.013, -0.0046, -0.0216, 0.0298, -0.0344, 0.0713, 0.0547, -0.047, -0.0294, + 0.0125, 0.0044, -0.0028, 0.0209, -0.02, 0.0854, 0.0018, -0.0386, -0.0703, 0.0778, + -0.0036, -0.0347, 0.0309, -0.0184, 0.029, -0.0025, -0.0644, 0.0347, -0.0523, 0.0644, + 0.0064, 0.0295, -0.0017, 0.0282, 0.0176, 0.0027, 0.0246, 0.0967, 0.0401, -0.0231, + 0.0054, -0.0109, 0.0055, -0.0479, -0.049, -0.0136, -0.0245, 0.0839, 0.0026, -0.0493, + 0.0128, -0.005, -0.0219, -0.0621, 0.0313, 0.0019, 0.0696, 0.0459, 0.0574, 0.0299, + -0.0091, -0.029, -0.0068, 0.0276, 0.0645, -0.015, 0.0015, -0.0374, 0.0415, -0.0124, + -0.0171, 0.0177, -0.0138, 0.0034, 0.084, 0.0584, 0.0233, 0.01, 0.0122, 0.0047 +}; + /* codebook/lspvqanssi4.txt */ +static const float codes3[] = { + 0.0221, -0.0035, -0.0032, -0.0177, -0.0327, 0.0518, -0.011, -0.015, -0.0136, -0.0327, + 0.0099, -0.0059, 0.0031, -0.0174, 0.0464, -0.024, 0.0251, -0.027, 0.0454, -0.0082, + -0.0029, 0.0025, -0.0267, -0.0318, -0.0157, 0.0173, 0.0253, 0.0063, -0.0481, 0.0419, + -0.0332, -0.0179, -0.0042, 0.0241, 0.0044, -0.0098, -0.0081, 0.0024, -0.0414, 0.0339, + -0.006, 0.0182, -0.0051, -0.0479, 0.0016, -0.0179, 0.0316, 0.0222, -0.0029, -0.0351, + 0.0074, 0.0015, 0.0337, -0.0082, -0.0008, 0.0129, 0.0001, 0.065, 0.0175, 0.0309, + -0.0212, -0.0261, 0.0196, -0.0309, 0.0093, -0.0272, 0.026, 0.0169, 0.0132, 0.0116, + -0.001, 0.0202, 0.0228, -0.0227, -0.0141, 0.0192, -0.0423, -0.0097, -0.0342, 0.0338, + -0.0149, -0.011, -0.0156, 0.029, 0.0028, 0.0123, -0.035, -0.0501, 0.0272, -0.0245, + -0.0005, -0.0194, 0.046, -0.0001, -0.028, 0.0216, -0.0028, -0.0162, 0.0177, -0.0254, + -0.0109, -0.0026, 0.0038, -0.015, -0.0421, -0.0422, 0.0164, -0.0436, 0.0054, -0.0098, + 0.0061, -0.0106, 0.0062, 0.0207, -0.0329, 0.0177, -0.0578, 0.0408, 0.0077, -0.026, + 0.0001, -0.0098, 0.0106, -0.0003, -0.0292, 0.0032, 0.056, 0.0311, -0.0282, -0.0445, + 0.0033, 0.0345, -0.0022, -0.0029, -0.0228, 0.0242, 0.0197, -0.0286, 0.0194, -0.0328, + 0.0094, -0.001, 0.0121, 0.0229, 0.0161, 0.0363, -0.0124, 0.0179, -0.0626, 0.002, + -0.007, -0.0272, -0.0171, -0.0249, -0.0039, 0.0254, 0.0317, -0.0324, 0.0276, -0.009, + -0.0002, 0.0057, -0.0204, 0.0512, -0.017, 0.0113, 0.0157, 0.0427, -0.0024, 0.0162, + -0.0064, -0.0144, 0.0216, 0.0053, -0.0361, 0.0287, 0.023, -0.0161, -0.0189, 0.0589, + 0.0091, -0.0059, -0.0308, 0.0171, -0.0137, -0.0033, -0.0505, -0.0155, -0.0527, 0.0133, + -0.0121, -0.0051, 0.0219, 0.0136, 0.0476, -0.009, -0.046, 0.0208, 0.0072, -0.0076, + 0.0098, -0.0328, -0.0211, 0.0054, -0.0146, -0.0263, 0.0248, 0.0045, -0.0183, 0.0301, + 0.0101, 0.0139, -0.0073, 0.0234, 0.0083, -0.0194, -0.0365, 0.0307, 0.058, 0.0153, + -0.0111, 0.0019, 0.0265, -0.015, 0.0311, 0.0362, 0.0244, -0.0213, -0.0224, -0.0299, + 0.0061, 0.0082, -0.0181, 0.0081, -0.0344, 0.0133, -0.0095, -0.0411, 0.0462, 0.0371, + 0.0089, -0.0157, 0.0179, -0.0256, -0.0118, -0.0302, -0.0329, 0.0212, -0.0463, -0.0162, + -0.0313, 0.0096, -0.004, 0.0186, 0.0248, -0.0126, 0.0472, -0.0079, 0.0115, -0.027, + 0.0055, 0.0044, 0.0172, 0.0079, -0.0089, -0.0202, -0.0233, -0.0397, -0.0305, -0.062, + -0.0282, -0.0104, -0.0071, -0.0242, -0.0255, 0.0204, -0.0187, -0.0103, -0.0227, -0.0424, + -0.0056, 0.0065, 0.0151, -0.0376, 0.0039, 0.0009, -0.0507, -0.004, 0.0393, -0.0201, + 0.0128, -0.0228, 0.0115, -0.0446, 0.0316, 0.0266, -0.0036, 0.0117, -0.0009, 0.0048, + -0.0088, 0.0226, 0.0125, 0.009, 0.0008, -0.0341, 0.0243, -0.0178, -0.0589, 0.0278, + 0.0151, 0.0021, -0.0349, -0.0365, -0.0098, -0.0179, -0.0212, -0.0313, 0.0109, -0.0164, + -0.0211, -0.0112, -0.0446, 0.0014, -0.0034, -0.0179, 0.011, 0.0176, 0.0286, 0.0045, + 0.0034, -0.0151, 0.038, 0.0331, -0.0034, -0.0439, 0.0145, 0.012, 0.0036, 0.0017, + -0.0348, 0.0192, 0.0167, 0.0069, -0.0266, -0.0085, -0.0076, 0.026, 0.0234, 0.0075, + -0.0237, 0.015, -0.0094, -0.0201, 0.0234, -0.0041, -0.016, -0.0549, -0.0021, 0.0239, + -0.0019, 0.0173, 0.0295, 0.0443, 0.0081, 0.0181, -0.0039, -0.027, 0.0155, 0.0107, + 0.0065, -0.0055, -0.0368, 0.0232, 0.037, 0.0367, 0.0046, -0.0167, 0.0047, 0.0173, + 0.0116, 0.0053, -0.0229, 0.0382, 0.016, -0.0453, 0.0057, -0.0267, 0.002, -0.0051, + -0.014, 0.0302, -0.0208, 0.0106, 0.0101, -0.0049, -0.0319, 0.0227, -0.0206, -0.0371, + -0.0007, -0.0109, -0.0053, 0.0078, 0.041, -0.0001, 0.0543, 0.0328, -0.0196, 0.0332, + -0.0043, -0.0028, -0.0246, 0.0285, -0.0248, 0.0153, 0.0303, -0.031, -0.0335, -0.0315, + -0.0417, 0.1029, 0.0377, 0.0069, 0.0012, 0.0065, 0.0007, -0.0144, -0.0083, 0.0004, + 0.0295, 0.0099, -0.0144, -0.0145, 0.0141, -0.0013, 0.0362, -0.0142, -0.0428, -0.0161, + -0.0095, -0.0206, 0.0116, 0.0132, 0.0164, 0.0158, 0.0012, -0.0024, 0.064, 0.0364, + 0.0005, -0.0022, -0.0165, -0.0057, 0.0263, 0.0339, 0.0014, 0.0541, 0.0164, -0.0411, + 0.0039, -0.0143, -0.0107, 0.0032, -0.016, -0.0502, 0.001, 0.0272, 0.0161, -0.05, + 0.0083, 0.0292, -0.0076, -0.0201, 0.0313, 0.0213, 0.012, 0.0087, 0.0285, 0.0332, + 0.017, 0.0018, 0.0001, 0.0205, 0.0106, -0.0064, -0.0082, -0.0083, -0.0082, 0.0886, + 0.0075, -0.0078, -0.0038, -0.0337, -0.0491, 0.0048, 0.0069, 0.03, 0.0369, 0.0088, + -0.0091, -0.0327, 0.0041, 0.0376, 0.017, 0.0154, 0.0126, 0.0153, -0.0024, -0.0353, + 0.0289, -0.008, 0.0063, 0.0274, -0.0061, 0.0208, 0.039, -0.006, 0.0294, -0.0088, + -0.0037, -0.0195, 0.0058, 0.0023, -0.0149, -0.036, -0.0587, -0.0248, 0.0288, 0.0203, + -0.0031, 0.0081, -0.0112, -0.0221, 0.0067, -0.0505, -0.0233, 0.0353, -0.0131, 0.0417, + 0.0243, 0.0231, -0.0013, 0.0049, -0.0423, -0.0245, -0.0029, 0.0184, -0.0162, -0.001, + 0.0045, 0.0101, -0.0042, 0.0014, -0.0133, -0.0321, 0.0642, 0.0153, 0.0377, 0.0277, + 0.0275, 0.0083, 0.0286, -0.0243, -0.0084, -0.0236, 0.0027, -0.0289, 0.0201, 0.0235, + 0.0281, 0.0078, 0.0038, 0.0069, 0.0302, 0.017, -0.0423, -0.034, 0.0104, -0.0181, + 0.0334, -0.0034, -0.0257, -0.0061, 0.014, -0.0099, -0.0195, 0.0529, 0.0019, 0.001, + -0.0114, 0.0012, -0.0038, -0.0016, -0.014, 0.0697, 0.0372, 0.0243, 0.0172, 0.0066, + 0.0192, 0.0149, 0.0285, 0.0077, 0.0246, -0.0135, 0.0145, 0.0317, -0.0074, -0.0438, + -0.0034, -0.0175, -0.0245, -0.0153, 0.0357, -0.0102, -0.0062, -0.0053, -0.0308, -0.0499, + 0.0025, -0.0253, 0.0148, 0.0031, 0.0189, -0.0023, -0.0085, -0.0596, -0.0337, 0.0175, + -0.0091, -0.0171, -0.0217, -0.0189, 0.0056, 0.0249, -0.0499, 0.0236, 0.0042, 0.0449 +}; + +const struct lsp_codebook lsp_cbvqanssi[] = { + /* codebook/lspvqanssi1.txt */ + { + 10, + 8, + 256, + codes0 + }, + /* codebook/lspvqanssi2.txt */ + { + 10, + 7, + 128, + codes1 + }, + /* codebook/lspvqanssi3.txt */ + { + 10, + 6, + 64, + codes2 + }, + /* codebook/lspvqanssi4.txt */ + { + 10, + 6, + 64, + codes3 + }, + { 0, 0, 0, 0 } +}; diff --git a/DSP_API/CODEC2_FREEDV/codec2.c b/DSP_API/CODEC2_FREEDV/codec2.c new file mode 100644 index 0000000..60489e1 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codec2.c @@ -0,0 +1,1521 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2.c + AUTHOR......: David Rowe + DATE CREATED: 21/8/2010 + + Codec2 fully quantised encoder and decoder functions. If you want use + codec2, the codec2_xxx functions are for you. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2010 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include +#include + +#include "defines.h" +#include "sine.h" +#include "nlp.h" +#include "dump.h" +#include "lpc.h" +#include "quantise.h" +#include "phase.h" +#include "interp.h" +#include "postfilter.h" +#include "codec2.h" +#include "lsp.h" +#include "codec2_internal.h" +#include "machdep.h" + +/*---------------------------------------------------------------------------*\ + + FUNCTION HEADERS + +\*---------------------------------------------------------------------------*/ + +void analyse_one_frame(struct CODEC2 *c2, MODEL *model, short speech[]); +void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model, + COMP Aw[]); +void codec2_encode_3200(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_3200(struct CODEC2 *c2, short speech[], const unsigned char * bits); +void codec2_encode_2400(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_2400(struct CODEC2 *c2, short speech[], const unsigned char * bits); +void codec2_encode_1600(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_1600(struct CODEC2 *c2, short speech[], const unsigned char * bits); +void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_1400(struct CODEC2 *c2, short speech[], const unsigned char * bits); +void codec2_encode_1300(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_1300(struct CODEC2 *c2, short speech[], const unsigned char * bits, float ber_est); +void codec2_encode_1200(struct CODEC2 *c2, unsigned char * bits, short speech[]); +void codec2_decode_1200(struct CODEC2 *c2, short speech[], const unsigned char * bits); +static void ear_protection(float in_out[], int n); + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_create + AUTHOR......: David Rowe + DATE CREATED: 21/8/2010 + + Create and initialise an instance of the codec. Returns a pointer + to the codec states or NULL on failure. One set of states is + sufficient for a full duuplex codec (i.e. an encoder and decoder). + You don't need separate states for encoders and decoders. See + c2enc.c and c2dec.c for examples. + +\*---------------------------------------------------------------------------*/ + +struct CODEC2 * CODEC2_WIN32SUPPORT codec2_create(int mode) +{ + struct CODEC2 *c2; + int i,l; + + c2 = (struct CODEC2*)malloc(sizeof(struct CODEC2)); + if (c2 == NULL) + return NULL; + + assert( + (mode == CODEC2_MODE_3200) || + (mode == CODEC2_MODE_2400) || + (mode == CODEC2_MODE_1600) || + (mode == CODEC2_MODE_1400) || + (mode == CODEC2_MODE_1300) || + (mode == CODEC2_MODE_1200) + ); + c2->mode = mode; + for(i=0; iSn[i] = 1.0; + c2->hpf_states[0] = c2->hpf_states[1] = 0.0; + for(i=0; i<2*N; i++) + c2->Sn_[i] = 0; + c2->fft_fwd_cfg = kiss_fft_alloc(FFT_ENC, 0, NULL, NULL); + make_analysis_window(c2->fft_fwd_cfg, c2->w,c2->W); + make_synthesis_window(c2->Pn); + c2->fft_inv_cfg = kiss_fft_alloc(FFT_DEC, 1, NULL, NULL); + quantise_init(); + c2->prev_Wo_enc = 0.0; + c2->bg_est = 0.0; + c2->ex_phase = 0.0; + + for(l=1; l<=MAX_AMP; l++) + c2->prev_model_dec.A[l] = 0.0; + c2->prev_model_dec.Wo = TWO_PI/P_MAX; + c2->prev_model_dec.L = PI/c2->prev_model_dec.Wo; + c2->prev_model_dec.voiced = 0; + + for(i=0; iprev_lsps_dec[i] = i*PI/(LPC_ORD+1); + } + c2->prev_e_dec = 1; + + c2->nlp = nlp_create(M); + if (c2->nlp == NULL) { + free (c2); + return NULL; + } + + c2->gray = 1; + + c2->lpc_pf = 1; c2->bass_boost = 1; c2->beta = LPCPF_BETA; c2->gamma = LPCPF_GAMMA; + + c2->xq_enc[0] = c2->xq_enc[1] = 0.0; + c2->xq_dec[0] = c2->xq_dec[1] = 0.0; + + c2->smoothing = 0; + + return c2; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_destroy + AUTHOR......: David Rowe + DATE CREATED: 21/8/2010 + + Destroy an instance of the codec. + +\*---------------------------------------------------------------------------*/ + +void CODEC2_WIN32SUPPORT codec2_destroy(struct CODEC2 *c2) +{ + assert(c2 != NULL); + nlp_destroy(c2->nlp); + KISS_FFT_FREE(c2->fft_fwd_cfg); + KISS_FFT_FREE(c2->fft_inv_cfg); + free(c2); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_bits_per_frame + AUTHOR......: David Rowe + DATE CREATED: Nov 14 2011 + + Returns the number of bits per frame. + +\*---------------------------------------------------------------------------*/ + +int CODEC2_WIN32SUPPORT codec2_bits_per_frame(struct CODEC2 *c2) { + if (c2->mode == CODEC2_MODE_3200) + return 64; + if (c2->mode == CODEC2_MODE_2400) + return 48; + if (c2->mode == CODEC2_MODE_1600) + return 64; + if (c2->mode == CODEC2_MODE_1400) + return 56; + if (c2->mode == CODEC2_MODE_1300) + return 52; + if (c2->mode == CODEC2_MODE_1200) + return 48; + + return 0; /* shouldn't get here */ +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_samples_per_frame + AUTHOR......: David Rowe + DATE CREATED: Nov 14 2011 + + Returns the number of bits per frame. + +\*---------------------------------------------------------------------------*/ + +int CODEC2_WIN32SUPPORT codec2_samples_per_frame(struct CODEC2 *c2) { + if (c2->mode == CODEC2_MODE_3200) + return 160; + if (c2->mode == CODEC2_MODE_2400) + return 160; + if (c2->mode == CODEC2_MODE_1600) + return 320; + if (c2->mode == CODEC2_MODE_1400) + return 320; + if (c2->mode == CODEC2_MODE_1300) + return 320; + if (c2->mode == CODEC2_MODE_1200) + return 320; + + return 0; /* shouldnt get here */ +} + +void CODEC2_WIN32SUPPORT codec2_encode(struct CODEC2 *c2, unsigned char *bits, short speech[]) +{ + assert(c2 != NULL); + assert( + (c2->mode == CODEC2_MODE_3200) || + (c2->mode == CODEC2_MODE_2400) || + (c2->mode == CODEC2_MODE_1600) || + (c2->mode == CODEC2_MODE_1400) || + (c2->mode == CODEC2_MODE_1300) || + (c2->mode == CODEC2_MODE_1200) + ); + + if (c2->mode == CODEC2_MODE_3200) + codec2_encode_3200(c2, bits, speech); + if (c2->mode == CODEC2_MODE_2400) + codec2_encode_2400(c2, bits, speech); + if (c2->mode == CODEC2_MODE_1600) + codec2_encode_1600(c2, bits, speech); + if (c2->mode == CODEC2_MODE_1400) + codec2_encode_1400(c2, bits, speech); + if (c2->mode == CODEC2_MODE_1300) + codec2_encode_1300(c2, bits, speech); + if (c2->mode == CODEC2_MODE_1200) + codec2_encode_1200(c2, bits, speech); +} + +void CODEC2_WIN32SUPPORT codec2_decode(struct CODEC2 *c2, short speech[], const unsigned char *bits) +{ + codec2_decode_ber(c2, speech, bits, 0.0); +} + +void CODEC2_WIN32SUPPORT codec2_decode_ber(struct CODEC2 *c2, short speech[], const unsigned char *bits, float ber_est) +{ + assert(c2 != NULL); + assert( + (c2->mode == CODEC2_MODE_3200) || + (c2->mode == CODEC2_MODE_2400) || + (c2->mode == CODEC2_MODE_1600) || + (c2->mode == CODEC2_MODE_1400) || + (c2->mode == CODEC2_MODE_1300) || + (c2->mode == CODEC2_MODE_1200) + ); + + if (c2->mode == CODEC2_MODE_3200) + codec2_decode_3200(c2, speech, bits); + if (c2->mode == CODEC2_MODE_2400) + codec2_decode_2400(c2, speech, bits); + if (c2->mode == CODEC2_MODE_1600) + codec2_decode_1600(c2, speech, bits); + if (c2->mode == CODEC2_MODE_1400) + codec2_decode_1400(c2, speech, bits); + if (c2->mode == CODEC2_MODE_1300) + codec2_decode_1300(c2, speech, bits, ber_est); + if (c2->mode == CODEC2_MODE_1200) + codec2_decode_1200(c2, speech, bits); +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_3200 + AUTHOR......: David Rowe + DATE CREATED: 13 Sep 2012 + + Encodes 160 speech samples (20ms of speech) into 64 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm twice. On the + first frame we just send the voicing bits. On the second frame we + send all model parameters. Compared to 2400 we use a larger number + of bits for the LSPs and non-VQ pitch and energy. + + The bit allocation is: + + Parameter bits/frame + -------------------------------------- + Harmonic magnitudes (LSPs) 50 + Pitch (Wo) 7 + Energy 5 + Voicing (10ms update) 2 + TOTAL 64 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_3200(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float ak[LPC_ORD+1]; + float lsps[LPC_ORD]; + float e; + int Wo_index, e_index; + int lspd_indexes[LPC_ORD]; + int i; + unsigned int nbit = 0; + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* first 10ms analysis frame - we just want voicing */ + + analyse_one_frame(c2, &model, speech); + pack(bits, &nbit, model.voiced, 1); + + /* second 10ms analysis frame */ + + analyse_one_frame(c2, &model, &speech[N]); + pack(bits, &nbit, model.voiced, 1); + Wo_index = encode_Wo(model.Wo); + pack(bits, &nbit, Wo_index, WO_BITS); + + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + e_index = encode_energy(e); + pack(bits, &nbit, e_index, E_BITS); + + encode_lspds_scalar(lspd_indexes, lsps, LPC_ORD); + for(i=0; iprev_model_dec, &model[1]); + e[0] = interp_energy(c2->prev_e_dec, e[1]); + + /* LSPs are sampled every 20ms so we interpolate the frame in + between, then recover spectral amplitudes */ + + interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec, &lsps[1][0], 0.5); + for(i=0; i<2; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[1]; + c2->prev_e_dec = e[1]; + for(i=0; iprev_lsps_dec[i] = lsps[1][i]; +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_2400 + AUTHOR......: David Rowe + DATE CREATED: 21/8/2010 + + Encodes 160 speech samples (20ms of speech) into 48 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm twice. On the + first frame we just send the voicing bit. On the second frame we + send all model parameters. + + The bit allocation is: + + Parameter bits/frame + -------------------------------------- + Harmonic magnitudes (LSPs) 36 + Joint VQ of Energy and Wo 8 + Voicing (10ms update) 2 + Spare 2 + TOTAL 48 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_2400(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float ak[LPC_ORD+1]; + float lsps[LPC_ORD]; + float e; + int WoE_index; + int lsp_indexes[LPC_ORD]; + int i; + int spare = 0; + unsigned int nbit = 0; + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* first 10ms analysis frame - we just want voicing */ + + analyse_one_frame(c2, &model, speech); + pack(bits, &nbit, model.voiced, 1); + + /* second 10ms analysis frame */ + + analyse_one_frame(c2, &model, &speech[N]); + pack(bits, &nbit, model.voiced, 1); + + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + WoE_index = encode_WoE(&model, e, c2->xq_enc); + pack(bits, &nbit, WoE_index, WO_E_BITS); + + encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); + for(i=0; ixq_dec, WoE_index); + + for(i=0; iprev_model_dec, &model[1]); + e[0] = interp_energy(c2->prev_e_dec, e[1]); + + /* LSPs are sampled every 20ms so we interpolate the frame in + between, then recover spectral amplitudes */ + + interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec, &lsps[1][0], 0.5); + for(i=0; i<2; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[1]; + c2->prev_e_dec = e[1]; + for(i=0; iprev_lsps_dec[i] = lsps[1][i]; +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_1600 + AUTHOR......: David Rowe + DATE CREATED: Feb 28 2013 + + Encodes 320 speech samples (40ms of speech) into 64 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm 4 times: + + frame 0: voicing bit + frame 1: voicing bit, Wo and E + frame 2: voicing bit + frame 3: voicing bit, Wo and E, scalar LSPs + + The bit allocation is: + + Parameter frame 2 frame 4 Total + ------------------------------------------------------- + Harmonic magnitudes (LSPs) 0 36 36 + Pitch (Wo) 7 7 14 + Energy 5 5 10 + Voicing (10ms update) 2 2 4 + TOTAL 14 50 64 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_1600(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float lsps[LPC_ORD]; + float ak[LPC_ORD+1]; + float e; + int lsp_indexes[LPC_ORD]; + int Wo_index, e_index; + int i; + unsigned int nbit = 0; + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* frame 1: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, speech); + pack(bits, &nbit, model.voiced, 1); + + /* frame 2: - voicing, scalar Wo & E -------------------------------*/ + + analyse_one_frame(c2, &model, &speech[N]); + pack(bits, &nbit, model.voiced, 1); + + Wo_index = encode_Wo(model.Wo); + pack(bits, &nbit, Wo_index, WO_BITS); + + /* need to run this just to get LPC energy */ + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + e_index = encode_energy(e); + pack(bits, &nbit, e_index, E_BITS); + + /* frame 3: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, &speech[2*N]); + pack(bits, &nbit, model.voiced, 1); + + /* frame 4: - voicing, scalar Wo & E, scalar LSPs ------------------*/ + + analyse_one_frame(c2, &model, &speech[3*N]); + pack(bits, &nbit, model.voiced, 1); + + Wo_index = encode_Wo(model.Wo); + pack(bits, &nbit, Wo_index, WO_BITS); + + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + e_index = encode_energy(e); + pack(bits, &nbit, e_index, E_BITS); + + encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); + for(i=0; iprev_model_dec, &model[1]); + e[0] = interp_energy(c2->prev_e_dec, e[1]); + interp_Wo(&model[2], &model[1], &model[3]); + e[2] = interp_energy(e[1], e[3]); + + /* LSPs are sampled every 40ms so we interpolate the 3 frames in + between, then recover spectral amplitudes */ + + for(i=0, weight=0.25; i<3; i++, weight += 0.25) { + interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight); + } + for(i=0; i<4; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[3]; + c2->prev_e_dec = e[3]; + for(i=0; iprev_lsps_dec[i] = lsps[3][i]; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_1400 + AUTHOR......: David Rowe + DATE CREATED: May 11 2012 + + Encodes 320 speech samples (40ms of speech) into 56 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm 4 times: + + frame 0: voicing bit + frame 1: voicing bit, joint VQ of Wo and E + frame 2: voicing bit + frame 3: voicing bit, joint VQ of Wo and E, scalar LSPs + + The bit allocation is: + + Parameter frame 2 frame 4 Total + ------------------------------------------------------- + Harmonic magnitudes (LSPs) 0 36 36 + Energy+Wo 8 8 16 + Voicing (10ms update) 2 2 4 + TOTAL 10 46 56 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float lsps[LPC_ORD]; + float ak[LPC_ORD+1]; + float e; + int lsp_indexes[LPC_ORD]; + int WoE_index; + int i; + unsigned int nbit = 0; + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* frame 1: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, speech); + pack(bits, &nbit, model.voiced, 1); + + /* frame 2: - voicing, joint Wo & E -------------------------------*/ + + analyse_one_frame(c2, &model, &speech[N]); + pack(bits, &nbit, model.voiced, 1); + + /* need to run this just to get LPC energy */ + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + + WoE_index = encode_WoE(&model, e, c2->xq_enc); + pack(bits, &nbit, WoE_index, WO_E_BITS); + + /* frame 3: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, &speech[2*N]); + pack(bits, &nbit, model.voiced, 1); + + /* frame 4: - voicing, joint Wo & E, scalar LSPs ------------------*/ + + analyse_one_frame(c2, &model, &speech[3*N]); + pack(bits, &nbit, model.voiced, 1); + + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + WoE_index = encode_WoE(&model, e, c2->xq_enc); + pack(bits, &nbit, WoE_index, WO_E_BITS); + + encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); + for(i=0; ixq_dec, WoE_index); + + model[2].voiced = unpack(bits, &nbit, 1); + + model[3].voiced = unpack(bits, &nbit, 1); + WoE_index = unpack(bits, &nbit, WO_E_BITS); + decode_WoE(&model[3], &e[3], c2->xq_dec, WoE_index); + + for(i=0; iprev_model_dec, &model[1]); + e[0] = interp_energy(c2->prev_e_dec, e[1]); + interp_Wo(&model[2], &model[1], &model[3]); + e[2] = interp_energy(e[1], e[3]); + + /* LSPs are sampled every 40ms so we interpolate the 3 frames in + between, then recover spectral amplitudes */ + + for(i=0, weight=0.25; i<3; i++, weight += 0.25) { + interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight); + } + for(i=0; i<4; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[3]; + c2->prev_e_dec = e[3]; + for(i=0; iprev_lsps_dec[i] = lsps[3][i]; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_1300 + AUTHOR......: David Rowe + DATE CREATED: March 14 2013 + + Encodes 320 speech samples (40ms of speech) into 52 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm 4 times: + + frame 0: voicing bit + frame 1: voicing bit, + frame 2: voicing bit + frame 3: voicing bit, Wo and E, scalar LSPs + + The bit allocation is: + + Parameter frame 2 frame 4 Total + ------------------------------------------------------- + Harmonic magnitudes (LSPs) 0 36 36 + Pitch (Wo) 0 7 7 + Energy 0 5 5 + Voicing (10ms update) 2 2 4 + TOTAL 2 50 52 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_1300(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float lsps[LPC_ORD]; + float ak[LPC_ORD+1]; + float e; + int lsp_indexes[LPC_ORD]; + int Wo_index, e_index; + int i; + unsigned int nbit = 0; + #ifdef PROFILE + unsigned int quant_start; + #endif + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* frame 1: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, speech); + pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); + + /* frame 2: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, &speech[N]); + pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); + + /* frame 3: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, &speech[2*N]); + pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); + + /* frame 4: - voicing, scalar Wo & E, scalar LSPs ------------------*/ + + analyse_one_frame(c2, &model, &speech[3*N]); + pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); + + Wo_index = encode_Wo(model.Wo); + pack_natural_or_gray(bits, &nbit, Wo_index, WO_BITS, c2->gray); + + #ifdef PROFILE + quant_start = machdep_profile_sample(); + #endif + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + e_index = encode_energy(e); + pack_natural_or_gray(bits, &nbit, e_index, E_BITS, c2->gray); + + encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); + for(i=0; igray); + } + #ifdef PROFILE + machdep_profile_sample_and_log(quant_start, " quant/packing"); + #endif + + assert(nbit == (unsigned)codec2_bits_per_frame(c2)); +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_decode_1300 + AUTHOR......: David Rowe + DATE CREATED: 11 May 2012 + + Decodes frames of 52 bits into 320 samples (40ms) of speech. + +\*---------------------------------------------------------------------------*/ + +void codec2_decode_1300(struct CODEC2 *c2, short speech[], const unsigned char * bits, float ber_est) +{ + MODEL model[4]; + int lsp_indexes[LPC_ORD]; + float lsps[4][LPC_ORD]; + int Wo_index, e_index; + float e[4]; + float snr; + float ak[4][LPC_ORD+1]; + int i,j; + unsigned int nbit = 0; + float weight; + COMP Aw[FFT_ENC]; + PROFILE_VAR(recover_start); + + assert(c2 != NULL); + + /* only need to zero these out due to (unused) snr calculation */ + + for(i=0; i<4; i++) + for(j=1; j<=MAX_AMP; j++) + model[i].A[j] = 0.0; + + /* unpack bits from channel ------------------------------------*/ + + /* this will partially fill the model params for the 4 x 10ms + frames */ + + model[0].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); + model[1].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); + model[2].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); + model[3].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); + + Wo_index = unpack_natural_or_gray(bits, &nbit, WO_BITS, c2->gray); + model[3].Wo = decode_Wo(Wo_index); + model[3].L = PI/model[3].Wo; + + e_index = unpack_natural_or_gray(bits, &nbit, E_BITS, c2->gray); + e[3] = decode_energy(e_index); + + for(i=0; igray); + } + decode_lsps_scalar(&lsps[3][0], lsp_indexes, LPC_ORD); + check_lsp_order(&lsps[3][0], LPC_ORD); + bw_expand_lsps(&lsps[3][0], LPC_ORD, 50.0, 100.0); + + if (ber_est > 0.15) { + model[0].voiced = model[1].voiced = model[2].voiced = model[3].voiced = 0; + e[3] = decode_energy(10); + bw_expand_lsps(&lsps[3][0], LPC_ORD, 200.0, 200.0); + fprintf(stderr, "soft mute\n"); + } + + /* interpolate ------------------------------------------------*/ + + /* Wo, energy, and LSPs are sampled every 40ms so we interpolate + the 3 frames in between */ + + PROFILE_SAMPLE(recover_start); + for(i=0, weight=0.25; i<3; i++, weight += 0.25) { + interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight); + interp_Wo2(&model[i], &c2->prev_model_dec, &model[3], weight); + e[i] = interp_energy2(c2->prev_e_dec, e[3],weight); + } + + /* then recover spectral amplitudes */ + + for(i=0; i<4; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + PROFILE_SAMPLE_AND_LOG2(recover_start, " recover"); + #ifdef DUMP + dump_lsp_(&lsps[3][0]); + dump_ak_(&ak[3][0], LPC_ORD); + #endif + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[3]; + c2->prev_e_dec = e[3]; + for(i=0; iprev_lsps_dec[i] = lsps[3][i]; + +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: codec2_encode_1200 + AUTHOR......: David Rowe + DATE CREATED: Nov 14 2011 + + Encodes 320 speech samples (40ms of speech) into 48 bits. + + The codec2 algorithm actually operates internally on 10ms (80 + sample) frames, so we run the encoding algorithm four times: + + frame 0: voicing bit + frame 1: voicing bit, joint VQ of Wo and E + frame 2: voicing bit + frame 3: voicing bit, joint VQ of Wo and E, VQ LSPs + + The bit allocation is: + + Parameter frame 2 frame 4 Total + ------------------------------------------------------- + Harmonic magnitudes (LSPs) 0 27 27 + Energy+Wo 8 8 16 + Voicing (10ms update) 2 2 4 + Spare 0 1 1 + TOTAL 10 38 48 + +\*---------------------------------------------------------------------------*/ + +void codec2_encode_1200(struct CODEC2 *c2, unsigned char * bits, short speech[]) +{ + MODEL model; + float lsps[LPC_ORD]; + float lsps_[LPC_ORD]; + float ak[LPC_ORD+1]; + float e; + int lsp_indexes[LPC_ORD]; + int WoE_index; + int i; + int spare = 0; + unsigned int nbit = 0; + + assert(c2 != NULL); + + memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); + + /* frame 1: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, speech); + pack(bits, &nbit, model.voiced, 1); + + /* frame 2: - voicing, joint Wo & E -------------------------------*/ + + analyse_one_frame(c2, &model, &speech[N]); + pack(bits, &nbit, model.voiced, 1); + + /* need to run this just to get LPC energy */ + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + + WoE_index = encode_WoE(&model, e, c2->xq_enc); + pack(bits, &nbit, WoE_index, WO_E_BITS); + + /* frame 3: - voicing ---------------------------------------------*/ + + analyse_one_frame(c2, &model, &speech[2*N]); + pack(bits, &nbit, model.voiced, 1); + + /* frame 4: - voicing, joint Wo & E, scalar LSPs ------------------*/ + + analyse_one_frame(c2, &model, &speech[3*N]); + pack(bits, &nbit, model.voiced, 1); + + e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD); + WoE_index = encode_WoE(&model, e, c2->xq_enc); + pack(bits, &nbit, WoE_index, WO_E_BITS); + + encode_lsps_vq(lsp_indexes, lsps, lsps_, LPC_ORD); + for(i=0; ixq_dec, WoE_index); + + model[2].voiced = unpack(bits, &nbit, 1); + + model[3].voiced = unpack(bits, &nbit, 1); + WoE_index = unpack(bits, &nbit, WO_E_BITS); + decode_WoE(&model[3], &e[3], c2->xq_dec, WoE_index); + + for(i=0; iprev_model_dec, &model[1]); + e[0] = interp_energy(c2->prev_e_dec, e[1]); + interp_Wo(&model[2], &model[1], &model[3]); + e[2] = interp_energy(e[1], e[3]); + + /* LSPs are sampled every 40ms so we interpolate the 3 frames in + between, then recover spectral amplitudes */ + + for(i=0, weight=0.25; i<3; i++, weight += 0.25) { + interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight); + } + for(i=0; i<4; i++) { + lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); + aks_to_M2(c2->fft_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, + c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); + apply_lpc_correction(&model[i]); + synthesise_one_frame(c2, &speech[N*i], &model[i], Aw); + } + + /* update memories for next frame ----------------------------*/ + + c2->prev_model_dec = model[3]; + c2->prev_e_dec = e[3]; + for(i=0; iprev_lsps_dec[i] = lsps[3][i]; +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: synthesise_one_frame() + AUTHOR......: David Rowe + DATE CREATED: 23/8/2010 + + Synthesise 80 speech samples (10ms) from model parameters. + +\*---------------------------------------------------------------------------*/ + +void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model, COMP Aw[]) +{ + int i; + PROFILE_VAR(phase_start, pf_start, synth_start); + + #ifdef DUMP + dump_quantised_model(model); + #endif + + PROFILE_SAMPLE(phase_start); + + phase_synth_zero_order(c2->fft_fwd_cfg, model, &c2->ex_phase, Aw); + + PROFILE_SAMPLE_AND_LOG(pf_start, phase_start, " phase_synth"); + + postfilter(model, &c2->bg_est); + + PROFILE_SAMPLE_AND_LOG(synth_start, pf_start, " postfilter"); + + synthesise(c2->fft_inv_cfg, c2->Sn_, model, c2->Pn, 1); + + PROFILE_SAMPLE_AND_LOG2(synth_start, " synth"); + + ear_protection(c2->Sn_, N); + + for(i=0; iSn_[i] > 32767.0) + speech[i] = 32767; + else if (c2->Sn_[i] < -32767.0) + speech[i] = -32767; + else + speech[i] = c2->Sn_[i]; + } + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: analyse_one_frame() + AUTHOR......: David Rowe + DATE CREATED: 23/8/2010 + + Extract sinusoidal model parameters from 80 speech samples (10ms of + speech). + +\*---------------------------------------------------------------------------*/ + +void analyse_one_frame(struct CODEC2 *c2, MODEL *model, short speech[]) +{ + COMP Sw[FFT_ENC]; + COMP Sw_[FFT_ENC]; + COMP Ew[FFT_ENC]; + float pitch; + int i; + PROFILE_VAR(dft_start, nlp_start, model_start, two_stage, estamps); + + /* Read input speech */ + + for(i=0; iSn[i] = c2->Sn[i+N]; + for(i=0; iSn[i+M-N] = speech[i]; + + PROFILE_SAMPLE(dft_start); + dft_speech(c2->fft_fwd_cfg, Sw, c2->Sn, c2->w); + PROFILE_SAMPLE_AND_LOG(nlp_start, dft_start, " dft_speech"); + + /* Estimate pitch */ + + nlp(c2->nlp,c2->Sn,N,P_MIN,P_MAX,&pitch,Sw, c2->W, &c2->prev_Wo_enc); + PROFILE_SAMPLE_AND_LOG(model_start, nlp_start, " nlp"); + + model->Wo = TWO_PI/pitch; + model->L = PI/model->Wo; + + /* estimate model parameters */ + + two_stage_pitch_refinement(model, Sw); + PROFILE_SAMPLE_AND_LOG(two_stage, model_start, " two_stage"); + estimate_amplitudes(model, Sw, c2->W, 0); + PROFILE_SAMPLE_AND_LOG(estamps, two_stage, " est_amps"); + est_voicing_mbe(model, Sw, c2->W, Sw_, Ew); + c2->prev_Wo_enc = model->Wo; + PROFILE_SAMPLE_AND_LOG2(estamps, " est_voicing"); + #ifdef DUMP + dump_model(model); + #endif +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: ear_protection() + AUTHOR......: David Rowe + DATE CREATED: Nov 7 2012 + + Limits output level to protect ears when there are bit errors or the input + is overdriven. This doesn't correct or mask bit errors, just reduces the + worst of their damage. + +\*---------------------------------------------------------------------------*/ + +static void ear_protection(float in_out[], int n) { + float max_sample, over, gain; + int i; + + /* find maximum sample in frame */ + + max_sample = 0.0; + for(i=0; i max_sample) + max_sample = in_out[i]; + + /* determine how far above set point */ + + over = max_sample/30000.0; + + /* If we are x dB over set point we reduce level by 2x dB, this + attenuates major excursions in amplitude (likely to be caused + by bit errors) more than smaller ones */ + + if (over > 1.0) { + gain = 1.0/(over*over); + //fprintf(stderr, "gain: %f\n", gain); + for(i=0; i= 0.0) && (beta <= 1.0)); + assert((gamma >= 0.0) && (gamma <= 1.0)); + c2->lpc_pf = enable; + c2->bass_boost = bass_boost; + c2->beta = beta; + c2->gamma = gamma; +} + +/* + Allows optional stealing of one of the voicing bits for use as a + spare bit, only 1300 & 1400 & 1600 bit/s supported for now. + Experimental method of sending voice/data frames for FreeDV. +*/ + +int CODEC2_WIN32SUPPORT codec2_get_spare_bit_index(struct CODEC2 *c2) +{ + assert(c2 != NULL); + + switch(c2->mode) { + case CODEC2_MODE_1300: + return 2; // bit 2 (3th bit) is v2 (third voicing bit) + break; + case CODEC2_MODE_1400: + return 10; // bit 10 (11th bit) is v2 (third voicing bit) + break; + case CODEC2_MODE_1600: + return 15; // bit 15 (16th bit) is v2 (third voicing bit) + break; + } + + return -1; +} + +/* + Reconstructs the spare voicing bit. Note works on unpacked bits + for convenience. +*/ + +int CODEC2_WIN32SUPPORT codec2_rebuild_spare_bit(struct CODEC2 *c2, int unpacked_bits[]) +{ + int v1,v3; + + assert(c2 != NULL); + + v1 = unpacked_bits[1]; + + switch(c2->mode) { + case CODEC2_MODE_1300: + + v3 = unpacked_bits[1+1+1]; + + /* if either adjacent frame is voiced, make this one voiced */ + + unpacked_bits[2] = (v1 || v3); + + return 0; + + break; + + case CODEC2_MODE_1400: + + v3 = unpacked_bits[1+1+8+1]; + + /* if either adjacent frame is voiced, make this one voiced */ + + unpacked_bits[10] = (v1 || v3); + + return 0; + + break; + + case CODEC2_MODE_1600: + v3 = unpacked_bits[1+1+8+5+1]; + + /* if either adjacent frame is voiced, make this one voiced */ + + unpacked_bits[15] = (v1 || v3); + + return 0; + + break; + } + + return -1; +} + +void CODEC2_WIN32SUPPORT codec2_set_natural_or_gray(struct CODEC2 *c2, int gray) +{ + assert(c2 != NULL); + c2->gray = gray; +} + diff --git a/DSP_API/CODEC2_FREEDV/codec2.h b/DSP_API/CODEC2_FREEDV/codec2.h new file mode 100644 index 0000000..ea00706 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codec2.h @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2.h + AUTHOR......: David Rowe + DATE CREATED: 21 August 2010 + + Codec 2 fully quantised encoder and decoder functions. If you want use + Codec 2, these are the functions you need to call. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2010 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#ifndef __CODEC2__ +#define __CODEC2__ + +/* set up the calling convention for DLL function import/export for + WIN32 cross compiling */ + +#ifdef __CODEC2_WIN32__ +#ifdef __CODEC2_BUILDING_DLL__ +#define CODEC2_WIN32SUPPORT __declspec(dllexport) __stdcall +#else +#define CODEC2_WIN32SUPPORT __declspec(dllimport) __stdcall +#endif +#else +#define CODEC2_WIN32SUPPORT +#endif + +#define CODEC2_MODE_3200 0 +#define CODEC2_MODE_2400 1 +#define CODEC2_MODE_1600 2 +#define CODEC2_MODE_1400 3 +#define CODEC2_MODE_1300 4 +#define CODEC2_MODE_1200 5 + +struct CODEC2; + +struct CODEC2 * CODEC2_WIN32SUPPORT codec2_create(int mode); +void CODEC2_WIN32SUPPORT codec2_destroy(struct CODEC2 *codec2_state); +void CODEC2_WIN32SUPPORT codec2_encode(struct CODEC2 *codec2_state, unsigned char * bits, short speech_in[]); +void CODEC2_WIN32SUPPORT codec2_decode(struct CODEC2 *codec2_state, short speech_out[], const unsigned char *bits); +void CODEC2_WIN32SUPPORT codec2_decode_ber(struct CODEC2 *codec2_state, short speech_out[], const unsigned char *bits, float ber_est); +int CODEC2_WIN32SUPPORT codec2_samples_per_frame(struct CODEC2 *codec2_state); +int CODEC2_WIN32SUPPORT codec2_bits_per_frame(struct CODEC2 *codec2_state); + +void CODEC2_WIN32SUPPORT codec2_set_lpc_post_filter(struct CODEC2 *codec2_state, int enable, int bass_boost, float beta, float gamma); +int CODEC2_WIN32SUPPORT codec2_get_spare_bit_index(struct CODEC2 *codec2_state); +int CODEC2_WIN32SUPPORT codec2_rebuild_spare_bit(struct CODEC2 *codec2_state, int unpacked_bits[]); +void CODEC2_WIN32SUPPORT codec2_set_natural_or_gray(struct CODEC2 *codec2_state, int gray); + +#endif + +#ifdef __cplusplus +} +#endif + diff --git a/DSP_API/CODEC2_FREEDV/codec2_fdmdv.h b/DSP_API/CODEC2_FREEDV/codec2_fdmdv.h new file mode 100644 index 0000000..df1d372 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codec2_fdmdv.h @@ -0,0 +1,128 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2_fdmdv.h + AUTHOR......: David Rowe + DATE CREATED: April 14 2012 + + A 1400 bit/s (nominal) Frequency Division Multiplexed Digital Voice + (FDMDV) modem. Used for digital audio over HF SSB. See + README_fdmdv.txt for more information, and fdmdv_mod.c and + fdmdv_demod.c for example usage. + + The name codec2_fdmdv.h is used to make it unique when "make + installed". + + References: + + [1] http://n1su.com/fdmdv/FDMDV_Docs_Rel_1_4b.pdf + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __FDMDV__ +#define __FDMDV__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* set up the calling convention for DLL function import/export for + WIN32 cross compiling */ + +#ifdef __CODEC2_WIN32__ +#ifdef __CODEC2_BUILDING_DLL__ +#define CODEC2_WIN32SUPPORT __declspec(dllexport) __stdcall +#else +#define CODEC2_WIN32SUPPORT __declspec(dllimport) __stdcall +#endif +#else +#define CODEC2_WIN32SUPPORT +#endif + +#include "comp.h" + +#define FDMDV_NC 14 /* default number of data carriers */ +#define FDMDV_NC_MAX 20 /* maximum number of data carriers */ +#define FDMDV_BITS_PER_FRAME 28 /* 20ms frames, for nominal 1400 bit/s */ +#define FDMDV_NOM_SAMPLES_PER_FRAME 160 /* modulator output samples/frame and nominal demod samples/frame */ + /* at 8000 Hz sample rate */ +#define FDMDV_MAX_SAMPLES_PER_FRAME 200 /* max demod samples/frame, use this to allocate storage */ +#define FDMDV_SCALE 1000 /* suggested scaling for 16 bit shorts */ +#define FDMDV_FCENTRE 1500 /* Centre frequency, Nc/2 carriers below this, Nc/2 carriers above (Hz) */ + +/* 8 to 48 kHz sample rate conversion */ + +#define FDMDV_OS 2 /* oversampling rate */ +#define FDMDV_OS_TAPS_16K 48 /* number of OS filter taps at 16kHz */ +#define FDMDV_OS_TAPS_8K (FDMDV_OS_TAPS_16K/FDMDV_OS) /* number of OS filter taps at 8kHz */ + +/* FFT points */ + +#define FDMDV_NSPEC 512 +#define FDMDV_MAX_F_HZ 4000 + +/* FDMDV states and stats structures */ + +struct FDMDV; + +struct FDMDV_STATS { + int Nc; + float snr_est; /* estimated SNR of rx signal in dB (3 kHz noise BW) */ + COMP rx_symbols[FDMDV_NC_MAX+1]; /* latest received symbols, for scatter plot */ + int sync; /* demod sync state */ + float foff; /* estimated freq offset in Hz */ + float rx_timing; /* estimated optimum timing offset in samples */ + float clock_offset; /* Estimated tx/rx sample clock offset in ppm */ +}; + +struct FDMDV * fdmdv_create(int Nc); +void fdmdv_destroy(struct FDMDV *fdmdv_state); +void fdmdv_use_old_qpsk_mapping(struct FDMDV *fdmdv_state); +int fdmdv_bits_per_frame(struct FDMDV *fdmdv_state); +float fdmdv_get_fsep(struct FDMDV *fdmdv_state); +void fdmdv_set_fsep(struct FDMDV *fdmdv_state, float fsep); + +void fdmdv_mod(struct FDMDV *fdmdv_state, COMP tx_fdm[], int tx_bits[], int *sync_bit); +void fdmdv_demod(struct FDMDV *fdmdv_state, int rx_bits[], int *reliable_sync_bit, COMP rx_fdm[], int *nin); + +void fdmdv_get_test_bits(struct FDMDV *fdmdv_state, int tx_bits[]); +int fdmdv_error_pattern_size(struct FDMDV *fdmdv_state); +void fdmdv_put_test_bits(struct FDMDV *f, int *sync, short error_pattern[], int *bit_errors, int *ntest_bits, int rx_bits[]); + +void fdmdv_get_demod_stats(struct FDMDV *fdmdv_state, struct FDMDV_STATS *fdmdv_stats); +void fdmdv_get_rx_spectrum(struct FDMDV *fdmdv_state, float mag_dB[], COMP rx_fdm[], int nin); + +void fdmdv_8_to_16(float out16k[], float in8k[], int n); +void fdmdv_8_to_16_short(short out16k[], short in8k[], int n); +void fdmdv_16_to_8(float out8k[], float in16k[], int n); +void fdmdv_16_to_8_short(short out8k[], short in16k[], int n); + +void fdmdv_freq_shift(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, COMP *foff_phase_rect, int nin); + +/* debug/development function(s) */ + +void fdmdv_dump_osc_mags(struct FDMDV *f); +void fdmdv_simulate_channel(struct FDMDV *f, COMP samples[], int nin, float target_snr); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/DSP_API/CODEC2_FREEDV/codec2_fifo.h b/DSP_API/CODEC2_FREEDV/codec2_fifo.h new file mode 100644 index 0000000..dc93e15 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codec2_fifo.h @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2_fifo.h + AUTHOR......: David Rowe + DATE CREATED: Oct 15 2012 + + A FIFO design useful in gluing the FDMDV modem and codec together in + integrated applications. + + The name codec2_fifo.h is used to make it unique when "make + installed". + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __FIFO__ +#define __FIFO__ + +#ifdef __cplusplus +extern "C" { +#endif + +struct FIFO; + +struct FIFO *fifo_create(int nshort); +void fifo_destroy(struct FIFO *fifo); +int fifo_write(struct FIFO *fifo, short data[], int n); +int fifo_read(struct FIFO *fifo, short data[], int n); +int fifo_used(struct FIFO *fifo); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/DSP_API/CODEC2_FREEDV/codec2_internal.h b/DSP_API/CODEC2_FREEDV/codec2_internal.h new file mode 100644 index 0000000..aaaf0ba --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/codec2_internal.h @@ -0,0 +1,63 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2_internal.h + AUTHOR......: David Rowe + DATE CREATED: April 16 2012 + + Header file for Codec2 internal states, exposed via this header + file to assist in testing. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __CODEC2_INTERNAL__ +#define __CODEC2_INTERNAL__ + +struct CODEC2 { + int mode; + kiss_fft_cfg fft_fwd_cfg; /* forward FFT config */ + float w[M]; /* time domain hamming window */ + COMP W[FFT_ENC]; /* DFT of w[] */ + float Pn[2*N]; /* trapezoidal synthesis window */ + float Sn[M]; /* input speech */ + float hpf_states[2]; /* high pass filter states */ + void *nlp; /* pitch predictor states */ + int gray; /* non-zero for gray encoding */ + + kiss_fft_cfg fft_inv_cfg; /* inverse FFT config */ + float Sn_[2*N]; /* synthesised output speech */ + float ex_phase; /* excitation model phase track */ + float bg_est; /* background noise estimate for post filter */ + float prev_Wo_enc; /* previous frame's pitch estimate */ + MODEL prev_model_dec; /* previous frame's model parameters */ + float prev_lsps_dec[LPC_ORD]; /* previous frame's LSPs */ + float prev_e_dec; /* previous frame's LPC energy */ + + int lpc_pf; /* LPC post filter on */ + int bass_boost; /* LPC post filter bass boost */ + float beta; /* LPC post filter parameters */ + float gamma; + + float xq_enc[2]; /* joint pitch and energy VQ states */ + float xq_dec[2]; + + int smoothing; /* enable smoothing for channels with errors */ +}; + +#endif diff --git a/DSP_API/CODEC2_FREEDV/comp.h b/DSP_API/CODEC2_FREEDV/comp.h new file mode 100644 index 0000000..cedcab3 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/comp.h @@ -0,0 +1,38 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: comp.h + AUTHOR......: David Rowe + DATE CREATED: 24/08/09 + + Complex number definition. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __COMP__ +#define __COMP__ + +/* Complex number */ + +typedef struct { + float real; + float imag; +} COMP; + +#endif diff --git a/DSP_API/CODEC2_FREEDV/defines.h b/DSP_API/CODEC2_FREEDV/defines.h new file mode 100644 index 0000000..3c2b9cd --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/defines.h @@ -0,0 +1,93 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: defines.h + AUTHOR......: David Rowe + DATE CREATED: 23/4/93 + + Defines and structures used throughout the codec. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __DEFINES__ +#define __DEFINES__ + +/*---------------------------------------------------------------------------*\ + + DEFINES + +\*---------------------------------------------------------------------------*/ + +/* General defines */ + +#define N 80 /* number of samples per frame */ +#define MAX_AMP 80 /* maximum number of harmonics */ +#define PI 3.141592654 /* mathematical constant */ +#define TWO_PI 6.283185307 /* mathematical constant */ +#define FS 8000 /* sample rate in Hz */ +#define MAX_STR 256 /* maximum string size */ + +#define NW 279 /* analysis window size */ +#define FFT_ENC 512 /* size of FFT used for encoder */ +#define FFT_DEC 512 /* size of FFT used in decoder */ +#define TW 40 /* Trapezoidal synthesis window overlap */ +#define V_THRESH 6.0 /* voicing threshold in dB */ +#define LPC_ORD 10 /* phase modelling LPC order */ + +/* Pitch estimation defines */ + +#define M 320 /* pitch analysis frame size */ +#define P_MIN 20 /* minimum pitch */ +#define P_MAX 160 /* maximum pitch */ + +/*---------------------------------------------------------------------------*\ + + TYPEDEFS + +\*---------------------------------------------------------------------------*/ + +/* Structure to hold model parameters for one frame */ + +typedef struct { + float Wo; /* fundamental frequency estimate in radians */ + int L; /* number of harmonics */ + float A[MAX_AMP+1]; /* amplitiude of each harmonic */ + float phi[MAX_AMP+1]; /* phase of each harmonic */ + int voiced; /* non-zero if this frame is voiced */ +} MODEL; + +/* describes each codebook */ + +struct lsp_codebook { + int k; /* dimension of vector */ + int log2m; /* number of bits in m */ + int m; /* elements in codebook */ + const float * cb; /* The elements */ +}; + +extern const struct lsp_codebook lsp_cb[]; +extern const struct lsp_codebook lsp_cbd[]; +extern const struct lsp_codebook lsp_cbvq[]; +extern const struct lsp_codebook lsp_cbjnd[]; +extern const struct lsp_codebook lsp_cbdt[]; +extern const struct lsp_codebook lsp_cbjvm[]; +extern const struct lsp_codebook lsp_cbvqanssi[]; +extern const struct lsp_codebook ge_cb[]; + +#endif diff --git a/DSP_API/CODEC2_FREEDV/dump.c b/DSP_API/CODEC2_FREEDV/dump.c new file mode 100644 index 0000000..00ce806 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/dump.c @@ -0,0 +1,629 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: dump.c + AUTHOR......: David Rowe + DATE CREATED: 25/8/09 + + Routines to dump data to text files for Octave analysis. + +\*---------------------------------------------------------------------------*/ + +/* + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include "defines.h" +#include "comp.h" +#include "dump.h" +#include +#include +#include +#include +#include + +#ifdef __EMBEDDED__ +#include "gdb_stdio.h" +#define fprintf gdb_stdio_fprintf +#define fopen gdb_stdio_fopen +#define fclose gdb_stdio_fclose +#endif + +#ifdef DUMP +static int dumpon = 0; + +static FILE *fsn = NULL; +static FILE *fsw = NULL; +static FILE *few = NULL; +static FILE *fsw_ = NULL; +static FILE *fmodel = NULL; +static FILE *fqmodel = NULL; +static FILE *fpwb = NULL; +static FILE *fpw = NULL; +static FILE *frw = NULL; +static FILE *flsp = NULL; +static FILE *fweights = NULL; +static FILE *flsp_ = NULL; +static FILE *fmel = NULL; +static FILE *fphase = NULL; +static FILE *fphase_ = NULL; +static FILE *ffw = NULL; +static FILE *fe = NULL; +static FILE *fsq = NULL; +static FILE *fdec = NULL; +static FILE *fsnr = NULL; +static FILE *flpcsnr = NULL; +static FILE *fak = NULL; +static FILE *fak_ = NULL; +static FILE *fbg = NULL; +static FILE *fE = NULL; +static FILE *frk = NULL; +static FILE *fhephase = NULL; + +static char prefix[MAX_STR]; + +void dump_on(char p[]) { + dumpon = 1; + strcpy(prefix, p); +} + +void dump_off(){ + if (fsn != NULL) + fclose(fsn); + if (fsw != NULL) + fclose(fsw); + if (fsw_ != NULL) + fclose(fsw_); + if (few != NULL) + fclose(few); + if (fmodel != NULL) + fclose(fmodel); + if (fqmodel != NULL) + fclose(fqmodel); + if (fpwb != NULL) + fclose(fpwb); + if (fpw != NULL) + fclose(fpw); + if (frw != NULL) + fclose(frw); + if (flsp != NULL) + fclose(flsp); + if (fweights != NULL) + fclose(fweights); + if (flsp_ != NULL) + fclose(flsp_); + if (fmel != NULL) + fclose(fmel); + if (fphase != NULL) + fclose(fphase); + if (fphase_ != NULL) + fclose(fphase_); + if (ffw != NULL) + fclose(ffw); + if (fe != NULL) + fclose(fe); + if (fsq != NULL) + fclose(fsq); + if (fdec != NULL) + fclose(fdec); + if (fsnr != NULL) + fclose(fsnr); + if (flpcsnr != NULL) + fclose(flpcsnr); + if (fak != NULL) + fclose(fak); + if (fak_ != NULL) + fclose(fak_); + if (fbg != NULL) + fclose(fbg); + if (fE != NULL) + fclose(fE); + if (frk != NULL) + fclose(frk); + if (fhephase != NULL) + fclose(fhephase); +} + +void dump_Sn(float Sn[]) { + int i; + char s[MAX_STR]; + + if (!dumpon) return; + + if (fsn == NULL) { + sprintf(s,"%s_sn.txt", prefix); + fsn = fopen(s, "wt"); + assert(fsn != NULL); + } + + /* split across two lines to avoid max line length problems */ + /* reconstruct in Octave */ + + for(i=0; iWo, model->L); + for(l=1; l<=model->L; l++) { + sprintf(s,"%12f ",model->A[l]); + strcat(line, s); + } + for(l=model->L+1; l<=MAX_AMP; l++) { + sprintf(s,"%12f ", 0.0); + strcat(line,s); + } + + sprintf(s,"%d\n",model->voiced); + strcat(line,s); + fprintf(fmodel,"%s",line); +} + +void dump_quantised_model(MODEL *model) { + int l; + char s[MAX_STR]; + char line[2048]; + + if (!dumpon) return; + + if (fqmodel == NULL) { + sprintf(s,"%s_qmodel.txt", prefix); + fqmodel = fopen(s, "wt"); + assert(fqmodel != NULL); + } + + sprintf(line,"%12f %12d ", model->Wo, model->L); + for(l=1; l<=model->L; l++) { + sprintf(s,"%12f ",model->A[l]); + strcat(line, s); + } + for(l=model->L+1; l<=MAX_AMP; l++) { + sprintf(s,"%12f ", 0.0); + strcat(line, s); + } + + sprintf(s,"%d\n",model->voiced); + strcat(line, s); + fprintf(fqmodel, "%s", line); +} + +void dump_phase(float phase[], int L) { + int l; + char s[MAX_STR]; + + if (!dumpon) return; + + if (fphase == NULL) { + sprintf(s,"%s_phase.txt", prefix); + fphase = fopen(s, "wt"); + assert(fphase != NULL); + } + + for(l=1; l<=L; l++) + fprintf(fphase,"%f\t",phase[l]); + for(l=L+1; l<=MAX_AMP; l++) + fprintf(fphase,"%f\t",0.0); + fprintf(fphase,"\n"); +} + +void dump_phase_(float phase_[], int L) { + int l; + char s[MAX_STR]; + + if (!dumpon) return; + + if (fphase_ == NULL) { + sprintf(s,"%s_phase_.txt", prefix); + fphase_ = fopen(s, "wt"); + assert(fphase_ != NULL); + } + + for(l=1; l<=L; l++) + fprintf(fphase_,"%f\t",phase_[l]); + for(l=L+1; l. +*/ + +#ifndef __DUMP__ +#define __DUMP__ + +#include "defines.h" +#include "comp.h" +#include "kiss_fft.h" +#include "codec2_internal.h" + +void dump_on(char filename_prefix[]); +void dump_off(); + +void dump_Sn(float Sn[]); +void dump_Sw(COMP Sw[]); +void dump_Sw_(COMP Sw_[]); +void dump_Ew(COMP Ew[]); + +/* amplitude modelling */ + +void dump_model(MODEL *m); +void dump_quantised_model(MODEL *m); +void dump_Pwn(COMP Pw[]); +void dump_Pw(COMP Pw[]); +void dump_Rw(float Rw[]); +void dump_lsp(float lsp[]); +void dump_weights(float w[], int ndim); +void dump_lsp_(float lsp_[]); +void dump_mel(int mel[]); +void dump_ak(float ak[], int order); +void dump_ak_(float ak[], int order); +void dump_E(float E); +void dump_lpc_snr(float snr); + +/* phase modelling */ + +void dump_snr(float snr); +void dump_phase(float phase[], int L); +void dump_phase_(float phase[], int L); +void dump_hephase(int ind[], int dim); + +/* NLP states */ + +void dump_sq(float sq[]); +void dump_dec(COMP Fw[]); +void dump_Fw(COMP Fw[]); +void dump_e(float e_hz[]); +void dump_Rk(float Rk[]); + +/* post filter */ + +void dump_bg(float e, float bg_est, float percent_uv); +void dump_Pwb(COMP Pwb[]); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/fdmdv.c b/DSP_API/CODEC2_FREEDV/fdmdv.c new file mode 100644 index 0000000..55844b4 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/fdmdv.c @@ -0,0 +1,2004 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fdmdv.c + AUTHOR......: David Rowe + DATE CREATED: April 14 2012 + + Functions that implement the FDMDV modem. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +/*---------------------------------------------------------------------------*\ + + INCLUDES + +\*---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +#include "fdmdv_internal.h" +#include "codec2_fdmdv.h" +#include "rn.h" +#include "rxdec_coeff.h" +#include "test_bits.h" +#include "pilot_coeff.h" +#include "kiss_fft.h" +#include "hanning.h" +#include "os.h" +#include "machdep.h" + +static int sync_uw[] = {1,-1,1,-1,1,-1}; + +#ifdef __EMBEDDED__ +#define printf gdb_stdio_printf +#endif + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +static COMP cneg(COMP a) +{ + COMP res; + + res.real = -a.real; + res.imag = -a.imag; + + return res; +} + +static COMP cconj(COMP a) +{ + COMP res; + + res.real = a.real; + res.imag = -a.imag; + + return res; +} + +static COMP cmult(COMP a, COMP b) +{ + COMP res; + + res.real = a.real*b.real - a.imag*b.imag; + res.imag = a.real*b.imag + a.imag*b.real; + + return res; +} + +static COMP fcmult(float a, COMP b) +{ + COMP res; + + res.real = a*b.real; + res.imag = a*b.imag; + + return res; +} + +static COMP cadd(COMP a, COMP b) +{ + COMP res; + + res.real = a.real + b.real; + res.imag = a.imag + b.imag; + + return res; +} + +static float cabsolute(COMP a) +{ + return sqrtf(powf(a.real, 2.0) + powf(a.imag, 2.0)); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_create + AUTHOR......: David Rowe + DATE CREATED: 16/4/2012 + + Create and initialise an instance of the modem. Returns a pointer + to the modem states or NULL on failure. One set of states is + sufficient for a full duplex modem. + +\*---------------------------------------------------------------------------*/ + +struct FDMDV * fdmdv_create(int Nc) +{ + struct FDMDV *f; + int c, i, k; + + assert(NC == FDMDV_NC_MAX); /* check public and private #defines match */ + assert(Nc <= NC); + assert(FDMDV_NOM_SAMPLES_PER_FRAME == M); + assert(FDMDV_MAX_SAMPLES_PER_FRAME == (M+M/P)); + + f = (struct FDMDV*)malloc(sizeof(struct FDMDV)); + if (f == NULL) + return NULL; + + f->Nc = Nc; + + f->ntest_bits = Nc*NB*4; + f->current_test_bit = 0; + f->rx_test_bits_mem = (int*)malloc(sizeof(int)*f->ntest_bits); + assert(f->rx_test_bits_mem != NULL); + for(i=0; intest_bits; i++) + f->rx_test_bits_mem[i] = 0; + assert((sizeof(test_bits)/sizeof(int)) >= f->ntest_bits); + + f->old_qpsk_mapping = 0; + + f->tx_pilot_bit = 0; + + for(c=0; cprev_tx_symbols[c].real = 1.0; + f->prev_tx_symbols[c].imag = 0.0; + f->prev_rx_symbols[c].real = 1.0; + f->prev_rx_symbols[c].imag = 0.0; + + for(k=0; ktx_filter_memory[c][k].real = 0.0; + f->tx_filter_memory[c][k].imag = 0.0; + } + + /* Spread initial FDM carrier phase out as far as possible. + This helped PAPR for a few dB. We don't need to adjust rx + phase as DQPSK takes care of that. */ + + f->phase_tx[c].real = cosf(2.0*PI*c/(Nc+1)); + f->phase_tx[c].imag = sinf(2.0*PI*c/(Nc+1)); + + f->phase_rx[c].real = 1.0; + f->phase_rx[c].imag = 0.0; + + for(k=0; krx_filter_mem_timing[c][k].real = 0.0; + f->rx_filter_mem_timing[c][k].imag = 0.0; + } + } + f->prev_tx_symbols[Nc].real = 2.0; + + fdmdv_set_fsep(f, FSEP); + f->freq[Nc].real = cosf(2.0*PI*0.0/FS); + f->freq[Nc].imag = sinf(2.0*PI*0.0/FS); + f->freq_pol[Nc] = 2.0*PI*0.0/FS; + + f->fbb_rect.real = cosf(2.0*PI*FDMDV_FCENTRE/FS); + f->fbb_rect.imag = sinf(2.0*PI*FDMDV_FCENTRE/FS); + f->fbb_pol = 2.0*PI*FDMDV_FCENTRE/FS; + f->fbb_phase_tx.real = 1.0; + f->fbb_phase_tx.imag = 0.0; + f->fbb_phase_rx.real = 1.0; + f->fbb_phase_rx.imag = 0.0; + + /* Generate DBPSK pilot Look Up Table (LUT) */ + + generate_pilot_lut(f->pilot_lut, &f->freq[Nc]); + + /* freq Offset estimation states */ + + f->fft_pilot_cfg = kiss_fft_alloc (MPILOTFFT, 0, NULL, NULL); + assert(f->fft_pilot_cfg != NULL); + + for(i=0; ipilot_baseband1[i].real = f->pilot_baseband2[i].real = 0.0; + f->pilot_baseband1[i].imag = f->pilot_baseband2[i].imag = 0.0; + } + f->pilot_lut_index = 0; + f->prev_pilot_lut_index = 3*M; + + for(i=0; irxdec_lpf_mem[i].real = 0.0; + f->rxdec_lpf_mem[i].imag = 0.0; + } + + for(i=0; ipilot_lpf1[i].real = f->pilot_lpf2[i].real = 0.0; + f->pilot_lpf1[i].imag = f->pilot_lpf2[i].imag = 0.0; + } + + f->foff = 0.0; + f->foff_phase_rect.real = 1.0; + f->foff_phase_rect.imag = 0.0; + + for(i=0; irx_fdm_mem[i].real = 0.0; + f->rx_fdm_mem[i].imag = 0.0; + } + + f->fest_state = 0; + f->sync = 0; + f->timer = 0; + for(i=0; isync_mem[i] = 0; + + for(c=0; csig_est[c] = 0.0; + f->noise_est[c] = 0.0; + } + + for(i=0; i<2*FDMDV_NSPEC; i++) + f->fft_buf[i] = 0.0; + f->fft_cfg = kiss_fft_alloc (2*FDMDV_NSPEC, 0, NULL, NULL); + assert(f->fft_cfg != NULL); + + f->sig_pwr_av = 0.0; + + return f; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_destroy + AUTHOR......: David Rowe + DATE CREATED: 16/4/2012 + + Destroy an instance of the modem. + +\*---------------------------------------------------------------------------*/ + +void fdmdv_destroy(struct FDMDV *fdmdv) +{ + assert(fdmdv != NULL); + KISS_FFT_FREE(fdmdv->fft_pilot_cfg); + KISS_FFT_FREE(fdmdv->fft_cfg); + free(fdmdv->rx_test_bits_mem); + free(fdmdv); +} + + +void fdmdv_use_old_qpsk_mapping(struct FDMDV *fdmdv) { + fdmdv->old_qpsk_mapping = 1; +} + + +int fdmdv_bits_per_frame(struct FDMDV *fdmdv) +{ + return (fdmdv->Nc * NB); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_get_test_bits() + AUTHOR......: David Rowe + DATE CREATED: 16/4/2012 + + Generate a frame of bits from a repeating sequence of random data. OK so + it's not very random if it repeats but it makes syncing at the demod easier + for test purposes. + +\*---------------------------------------------------------------------------*/ + +void fdmdv_get_test_bits(struct FDMDV *f, int tx_bits[]) +{ + int i; + int bits_per_frame = fdmdv_bits_per_frame(f); + + for(i=0; icurrent_test_bit]; + f->current_test_bit++; + if (f->current_test_bit > (f->ntest_bits-1)) + f->current_test_bit = 0; + } + } + +float fdmdv_get_fsep(struct FDMDV *f) +{ + return f->fsep; +} + +void fdmdv_set_fsep(struct FDMDV *f, float fsep) { + int c; + float carrier_freq; + + f->fsep = fsep; + + /* Set up frequency of each carrier */ + + for(c=0; cNc/2; c++) { + carrier_freq = (-f->Nc/2 + c)*f->fsep; + f->freq[c].real = cosf(2.0*PI*carrier_freq/FS); + f->freq[c].imag = sinf(2.0*PI*carrier_freq/FS); + f->freq_pol[c] = 2.0*PI*carrier_freq/FS; + } + + for(c=f->Nc/2; cNc; c++) { + carrier_freq = (-f->Nc/2 + c + 1)*f->fsep; + f->freq[c].real = cosf(2.0*PI*carrier_freq/FS); + f->freq[c].imag = sinf(2.0*PI*carrier_freq/FS); + f->freq_pol[c] = 2.0*PI*carrier_freq/FS; + } +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: bits_to_dqpsk_symbols() + AUTHOR......: David Rowe + DATE CREATED: 16/4/2012 + + Maps bits to parallel DQPSK symbols. Generate Nc+1 QPSK symbols from + vector of (1,Nc*Nb) input tx_bits. The Nc+1 symbol is the +1 -1 +1 + .... BPSK sync carrier. + +\*---------------------------------------------------------------------------*/ + +void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], int tx_bits[], int *pilot_bit, int old_qpsk_mapping) +{ + int c, msb, lsb; + COMP j = {0.0,1.0}; + + /* Map tx_bits to to Nc DQPSK symbols. Note legacy support for + old (suboptimal) V0.91 FreeDV mapping */ + + for(c=0; creal /= mag; + fbb_phase->imag /= mag; + + /* shift memory, inserting zeros at end */ + + for(i=0; ireal /= mag; + fbb_phase->imag /= mag; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_mod() + AUTHOR......: David Rowe + DATE CREATED: 26/4/2012 + + FDMDV modulator, take a frame of FDMDV_BITS_PER_FRAME bits and + generates a frame of FDMDV_SAMPLES_PER_FRAME modulated symbols. + Sync bit is returned to aid alignment of your next frame. + + The sync_bit value returned will be used for the _next_ frame. + + The output signal is complex to support single sided frequency + shifting, for example when testing frequency offsets in channel + simulation. + +\*---------------------------------------------------------------------------*/ + +void fdmdv_mod(struct FDMDV *fdmdv, COMP tx_fdm[], int tx_bits[], int *sync_bit) +{ + COMP tx_symbols[NC+1]; + PROFILE_VAR(mod_start, tx_filter_and_upconvert_start); + + PROFILE_SAMPLE(mod_start); + bits_to_dqpsk_symbols(tx_symbols, fdmdv->Nc, fdmdv->prev_tx_symbols, tx_bits, &fdmdv->tx_pilot_bit, fdmdv->old_qpsk_mapping); + memcpy(fdmdv->prev_tx_symbols, tx_symbols, sizeof(COMP)*(fdmdv->Nc+1)); + PROFILE_SAMPLE_AND_LOG(tx_filter_and_upconvert_start, mod_start, " bits_to_dqpsk_symbols"); + tx_filter_and_upconvert(tx_fdm, fdmdv->Nc, tx_symbols, fdmdv->tx_filter_memory, + fdmdv->phase_tx, fdmdv->freq, &fdmdv->fbb_phase_tx, fdmdv->fbb_rect); + PROFILE_SAMPLE_AND_LOG2(tx_filter_and_upconvert_start, " tx_filter_and_upconvert"); + + *sync_bit = fdmdv->tx_pilot_bit; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: generate_pilot_fdm() + AUTHOR......: David Rowe + DATE CREATED: 19/4/2012 + + Generate M samples of DBPSK pilot signal for Freq offset estimation. + +\*---------------------------------------------------------------------------*/ + +void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, + float *filter_mem, COMP *phase, COMP *freq) +{ + int i,j,k; + float tx_baseband[M]; + + /* +1 -1 +1 -1 DBPSK sync carrier, once filtered becomes (roughly) + two spectral lines at +/- RS/2 */ + + if (*bit) + *symbol = -*symbol; + + if (*bit) + *bit = 0; + else + *bit = 1; + + /* filter DPSK symbol to create M baseband samples */ + + filter_mem[NFILTER-1] = (sqrtf(2)/2) * *symbol; + for(i=0; ireal; + pilot_fdm[i].imag = sqrtf(2)*2*tx_baseband[i] * phase->imag; + } +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: generate_pilot_lut() + AUTHOR......: David Rowe + DATE CREATED: 19/4/2012 + + Generate a 4M sample vector of DBPSK pilot signal. As the pilot signal + is periodic in 4M samples we can then use this vector as a look up table + for pilot signal generation in the demod. + +\*---------------------------------------------------------------------------*/ + +void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq) +{ + int pilot_rx_bit = 0; + float pilot_symbol = sqrtf(2.0); + COMP pilot_phase = {1.0, 0.0}; + float pilot_filter_mem[NFILTER]; + COMP pilot[M]; + int i,f; + + for(i=0; i= 4) + memcpy(&pilot_lut[M*(f-4)], pilot, M*sizeof(COMP)); + } + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: lpf_peak_pick() + AUTHOR......: David Rowe + DATE CREATED: 20/4/2012 + + LPF and peak pick part of freq est, put in a function as we call it twice. + +\*---------------------------------------------------------------------------*/ + +void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], + COMP pilot_lpf[], kiss_fft_cfg fft_pilot_cfg, COMP S[], int nin, + int do_fft) +{ + int i,j,k; + int mpilot; + COMP s[MPILOTFFT]; + float mag, imax; + int ix; + float r; + + /* LPF cutoff 200Hz, so we can handle max +/- 200 Hz freq offset */ + + for(i=0; i imax) { + imax = mag; + ix = i; + } + } + r = 2.0*200.0/MPILOTFFT; /* maps FFT bin to frequency in Hz */ + + if (ix >= MPILOTFFT/2) + *foff = (ix - MPILOTFFT)*r; + else + *foff = (ix)*r; + } + + *max = imax; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: rx_est_freq_offset() + AUTHOR......: David Rowe + DATE CREATED: 19/4/2012 + + Estimate frequency offset of FDM signal using BPSK pilot. Note that + this algorithm is quite sensitive to pilot tone level wrt other + carriers, so test variations to the pilot amplitude carefully. + +\*---------------------------------------------------------------------------*/ + +float rx_est_freq_offset(struct FDMDV *f, COMP rx_fdm[], int nin, int do_fft) +{ + int i,j; + COMP pilot[M+M/P]; + COMP prev_pilot[M+M/P]; + float foff, foff1, foff2; + float max1, max2; + + assert(nin <= M+M/P); + + /* get pilot samples used for correlation/down conversion of rx signal */ + + for (i=0; ipilot_lut[f->pilot_lut_index]; + f->pilot_lut_index++; + if (f->pilot_lut_index >= 4*M) + f->pilot_lut_index = 0; + + prev_pilot[i] = f->pilot_lut[f->prev_pilot_lut_index]; + f->prev_pilot_lut_index++; + if (f->prev_pilot_lut_index >= 4*M) + f->prev_pilot_lut_index = 0; + } + + /* + Down convert latest M samples of pilot by multiplying by ideal + BPSK pilot signal we have generated locally. The peak of the + resulting signal is sensitive to the time shift between the + received and local version of the pilot, so we do it twice at + different time shifts and choose the maximum. + */ + + for(i=0; ipilot_baseband1[i] = f->pilot_baseband1[i+nin]; + f->pilot_baseband2[i] = f->pilot_baseband2[i+nin]; + } + + for(i=0,j=NPILOTBASEBAND-nin; ipilot_baseband1[j] = cmult(rx_fdm[i], cconj(pilot[i])); + f->pilot_baseband2[j] = cmult(rx_fdm[i], cconj(prev_pilot[i])); + } + + lpf_peak_pick(&foff1, &max1, f->pilot_baseband1, f->pilot_lpf1, f->fft_pilot_cfg, f->S1, nin, do_fft); + lpf_peak_pick(&foff2, &max2, f->pilot_baseband2, f->pilot_lpf2, f->fft_pilot_cfg, f->S2, nin, do_fft); + + if (max1 > max2) + foff = foff1; + else + foff = foff2; + + return foff; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_freq_shift() + AUTHOR......: David Rowe + DATE CREATED: 26/4/2012 + + Frequency shift modem signal. The use of complex input and output allows + single sided frequency shifting (no images). + +\*---------------------------------------------------------------------------*/ + +void fdmdv_freq_shift(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, + COMP *foff_phase_rect, int nin) +{ + COMP foff_rect; + float mag; + int i; + + foff_rect.real = cosf(2.0*PI*foff/FS); + foff_rect.imag = sinf(2.0*PI*foff/FS); + for(i=0; ireal /= mag; + foff_phase_rect->imag /= mag; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdm_downconvert + AUTHOR......: David Rowe + DATE CREATED: 22/4/2012 + + Frequency shift each modem carrier down to Nc+1 baseband signals. + +\*---------------------------------------------------------------------------*/ + +void fdm_downconvert(COMP rx_baseband[NC+1][M+M/P], int Nc, COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin) +{ + int i,c; + float mag; + + /* maximum number of input samples to demod */ + + assert(nin <= (M+M/P)); + + /* Nc/2 tones below centre freq */ + + for (c=0; c P) + rx_timing -= P; + if (rx_timing < -P) + rx_timing += P; + + /* rx_filter_mem_timing contains Nt*P samples (Nt symbols at rate + P), where Nt is odd. Lets use linear interpolation to resample + in the centre of the timing estimation window .*/ + + rx_timing += floorf(NT/2.0)*P; + low_sample = floorf(rx_timing); + fract = rx_timing - low_sample; + high_sample = ceilf(rx_timing); + + //printf("rx_timing: %f low_sample: %d high_sample: %d fract: %f\n", rx_timing, low_sample, high_sample, fract); + + for(c=0; c= 0) && (d.imag >= 0)) { + msb = 0; lsb = 0; + } + if ((d.real < 0) && (d.imag >= 0)) { + msb = 0; lsb = 1; + } + if ((d.real < 0) && (d.imag < 0)) { + if (old_qpsk_mapping) { + msb = 1; lsb = 0; + } else { + msb = 1; lsb = 1; + } + } + if ((d.real >= 0) && (d.imag < 0)) { + if (old_qpsk_mapping) { + msb = 1; lsb = 1; + } else { + msb = 1; lsb = 0; + } + } + rx_bits[2*c] = msb; + rx_bits[2*c+1] = lsb; + } + + /* Extract DBPSK encoded Sync bit and fine freq offset estimate */ + + norm = 1.0/(cabsolute(prev_rx_symbols[Nc])+1E-6); + phase_difference[Nc] = cmult(rx_symbols[Nc], fcmult(norm, cconj(prev_rx_symbols[Nc]))); + if (phase_difference[Nc].real < 0) { + *sync_bit = 1; + ferr = phase_difference[Nc].imag*norm; /* make f_err magnitude insensitive */ + } + else { + *sync_bit = 0; + ferr = -phase_difference[Nc].imag*norm; + } + + /* pilot carrier gets an extra pi/4 rotation to make it consistent + with other carriers, as we need it for snr_update and scatter + diagram */ + + phase_difference[Nc] = cmult(phase_difference[Nc], pi_on_4); + + return ferr; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: snr_update() + AUTHOR......: David Rowe + DATE CREATED: 17 May 2012 + + Given phase differences update estimates of signal and noise levels. + +\*---------------------------------------------------------------------------*/ + +void snr_update(float sig_est[], float noise_est[], int Nc, COMP phase_difference[]) +{ + float s[NC+1]; + COMP refl_symbols[NC+1]; + float n[NC+1]; + COMP pi_on_4; + int c; + + pi_on_4.real = cosf(PI/4.0); + pi_on_4.imag = sinf(PI/4.0); + + /* mag of each symbol is distance from origin, this gives us a + vector of mags, one for each carrier. */ + + for(c=0; cntest_bits; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_put_test_bits() + AUTHOR......: David Rowe + DATE CREATED: 24/4/2012 + + Accepts nbits from rx and attempts to sync with test_bits sequence. + If sync OK measures bit errors. + +\*---------------------------------------------------------------------------*/ + +void fdmdv_put_test_bits(struct FDMDV *f, int *sync, short error_pattern[], + int *bit_errors, int *ntest_bits, int rx_bits[]) +{ + int i,j; + float ber; + int bits_per_frame = fdmdv_bits_per_frame(f); + + /* Append to our memory */ + + for(i=0,j=bits_per_frame; intest_bits-bits_per_frame; i++,j++) + f->rx_test_bits_mem[i] = f->rx_test_bits_mem[j]; + for(i=f->ntest_bits-bits_per_frame,j=0; intest_bits; i++,j++) + f->rx_test_bits_mem[i] = rx_bits[j]; + + /* see how many bit errors we get when checked against test sequence */ + + *bit_errors = 0; + for(i=0; intest_bits; i++) { + error_pattern[i] = test_bits[i] ^ f->rx_test_bits_mem[i]; + *bit_errors += error_pattern[i]; + //printf("%d %d %d %d\n", i, test_bits[i], f->rx_test_bits_mem[i], test_bits[i] ^ f->rx_test_bits_mem[i]); + } + + /* if less than a thresh we are aligned and in sync with test sequence */ + + ber = (float)*bit_errors/f->ntest_bits; + + *sync = 0; + if (ber < 0.2) + *sync = 1; + + *ntest_bits = f->ntest_bits; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: freq_state(() + AUTHOR......: David Rowe + DATE CREATED: 24/4/2012 + + Freq offset state machine. Moves between coarse and fine states + based on BPSK pilot sequence. Freq offset estimator occasionally + makes mistakes when used continuously. So we use it until we have + acquired the BPSK pilot, then switch to a more robust "fine" + tracking algorithm. If we lose sync we switch back to coarse mode + for fast re-acquisition of large frequency offsets. + + The sync state is also useful for higher layers to determine when + there is valid FDMDV data for decoding. We want to reliably and + quickly get into sync, stay in sync even on fading channels, and + fall out of sync quickly if tx stops or it's a false sync. + + In multipath fading channels the BPSK sync carrier may be pushed + down in the noise, despite other carriers being at full strength. + We want to avoid loss of sync in these cases. + +\*---------------------------------------------------------------------------*/ + +int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, int *sync_mem) +{ + int next_state, sync, unique_word, i, corr; + + /* look for 6 symbols (120ms) 101010 of sync sequence */ + + unique_word = 0; + for(i=0; ifbb_phase_rx, *nin); + + /* freq offset estimation and correction */ + + PROFILE_SAMPLE(demod_start); + foff_coarse = rx_est_freq_offset(fdmdv, rx_fdm_bb, *nin, !fdmdv->sync); + PROFILE_SAMPLE_AND_LOG(fdmdv_freq_shift_start, demod_start, " rx_est_freq_offset"); + + if (fdmdv->sync == 0) + fdmdv->foff = foff_coarse; + fdmdv_freq_shift(rx_fdm_fcorr, rx_fdm_bb, -fdmdv->foff, &fdmdv->foff_phase_rect, *nin); + PROFILE_SAMPLE_AND_LOG(down_convert_and_rx_filter_start, fdmdv_freq_shift_start, " fdmdv_freq_shift"); + + /* baseband processing */ + + rxdec_filter(rx_fdm_filter, rx_fdm_fcorr, fdmdv->rxdec_lpf_mem, *nin); + down_convert_and_rx_filter(rx_filt, fdmdv->Nc, rx_fdm_filter, fdmdv->rx_fdm_mem, fdmdv->phase_rx, fdmdv->freq, + fdmdv->freq_pol, *nin, M/Q); + PROFILE_SAMPLE_AND_LOG(rx_est_timing_start, down_convert_and_rx_filter_start, " down_convert_and_rx_filter"); + fdmdv->rx_timing = rx_est_timing(rx_symbols, fdmdv->Nc, rx_filt, fdmdv->rx_filter_mem_timing, env, *nin); + PROFILE_SAMPLE_AND_LOG(qpsk_to_bits_start, rx_est_timing_start, " rx_est_timing"); + + /* Adjust number of input samples to keep timing within bounds */ + + *nin = M; + + if (fdmdv->rx_timing > 2*M/P) + *nin += M/P; + + if (fdmdv->rx_timing < 0) + *nin -= M/P; + + foff_fine = qpsk_to_bits(rx_bits, &sync_bit, fdmdv->Nc, fdmdv->phase_difference, fdmdv->prev_rx_symbols, rx_symbols, + fdmdv->old_qpsk_mapping); + memcpy(fdmdv->prev_rx_symbols, rx_symbols, sizeof(COMP)*(fdmdv->Nc+1)); + PROFILE_SAMPLE_AND_LOG(snr_update_start, qpsk_to_bits_start, " qpsk_to_bits"); + snr_update(fdmdv->sig_est, fdmdv->noise_est, fdmdv->Nc, fdmdv->phase_difference); + PROFILE_SAMPLE_AND_LOG(freq_state_start, snr_update_start, " snr_update"); + + /* freq offset estimation state machine */ + + fdmdv->sync = freq_state(reliable_sync_bit, sync_bit, &fdmdv->fest_state, &fdmdv->timer, fdmdv->sync_mem); + PROFILE_SAMPLE_AND_LOG2(freq_state_start, " freq_state"); + fdmdv->foff -= TRACK_COEFF*foff_fine; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: calc_snr() + AUTHOR......: David Rowe + DATE CREATED: 17 May 2012 + + Calculate current SNR estimate (3000Hz noise BW) + +\*---------------------------------------------------------------------------*/ + +float calc_snr(int Nc, float sig_est[], float noise_est[]) +{ + float S, SdB; + float mean, N50, N50dB, N3000dB; + float snr_dB; + int c; + + S = 0.0; + for(c=0; cNc = fdmdv->Nc; + fdmdv_stats->snr_est = calc_snr(fdmdv->Nc, fdmdv->sig_est, fdmdv->noise_est); + fdmdv_stats->sync = fdmdv->sync; + fdmdv_stats->foff = fdmdv->foff; + fdmdv_stats->rx_timing = fdmdv->rx_timing; + fdmdv_stats->clock_offset = 0.0; /* TODO - implement clock offset estimation */ + + for(c=0; cNc+1; c++) { + fdmdv_stats->rx_symbols[c] = fdmdv->phase_difference[c]; + } +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fdmdv_8_to_16() + AUTHOR......: David Rowe + DATE CREATED: 9 May 2012 + + Changes the sample rate of a signal from 8 to 16 kHz. Support function for + SM1000. + +\*---------------------------------------------------------------------------*/ + +void fdmdv_8_to_16(float out16k[], float in8k[], int n) +{ + int i,k,l; + float acc; + + /* make sure n is an integer multiple of the oversampling rate, ow + this function breaks */ + + assert((n % FDMDV_OS) == 0); + + /* this version unrolled for specific FDMDV_OS */ + + assert(FDMDV_OS == 2); + + for(i=0; ifft_buf[i] = f->fft_buf[i+nin]; + for(j=0; jfft_buf[i] = rx_fdm[j].real; + assert(i == 2*FDMDV_NSPEC); + + /* window and FFT */ + + for(i=0; i<2*FDMDV_NSPEC; i++) { + fft_in[i].real = f->fft_buf[i] * (0.5 - 0.5*cosf((float)i*2.0*PI/(2*FDMDV_NSPEC))); + fft_in[i].imag = 0.0; + } + + kiss_fft(f->fft_cfg, (kiss_fft_cpx *)fft_in, (kiss_fft_cpx *)fft_out); + + /* FFT scales up a signal of level 1 FDMDV_NSPEC */ + + full_scale_dB = 20*log10(FDMDV_NSPEC); + + /* scale and convert to dB */ + + for(i=0; iNc; i++) + fprintf(stderr," %1.3f", (double)cabsolute(f->phase_tx[i])); + fprintf(stderr,"\nfreq[]:\n"); + for(i=0; i<=f->Nc; i++) + fprintf(stderr," %1.3f", (double)cabsolute(f->freq[i])); + fprintf(stderr,"\nfoff_phase_rect: %1.3f", (double)cabsolute(f->foff_phase_rect)); + fprintf(stderr,"\nphase_rx[]:\n"); + for(i=0; i<=f->Nc; i++) + fprintf(stderr," %1.3f", (double)cabsolute(f->phase_rx[i])); + fprintf(stderr, "\n\n"); +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: randn() + AUTHOR......: David Rowe + DATE CREATED: 2 August 2014 + + Simple approximation to normal (gaussian) random number generator + with 0 mean and unit variance. + +\*---------------------------------------------------------------------------*/ + +#define RANDN_IT 12 /* This magic number of iterations gives us a + unit variance. I think beacuse var = + (b-a)^2/12 for one uniform random variable, so + for a sum of n random variables it's + n(b-a)^2/12, or for b=1, a = 0, n=12, we get + var = 12(1-0)^2/12 = 1 */ + +static float randn() { + int i; + float rn = 0.0; + + for(i=0; isig_pwr_av = 0.9*f->sig_pwr_av + 0.1*sig_pwr; + + /* det noise to meet target SNR */ + + target_snr_linear = powf(10.0, target_snr/10.0); + noise_pwr = f->sig_pwr_av/target_snr_linear; /* noise pwr in a 3000 Hz BW */ + noise_pwr_1Hz = noise_pwr/3000.0; /* noise pwr in a 1 Hz bandwidth */ + noise_pwr_4000Hz = noise_pwr_1Hz*4000.0; /* noise pwr in a 4000 Hz BW, which + due to fs=8000 Hz in our simulation noise BW */ + + noise_gain = sqrtf(0.5*noise_pwr_4000Hz); /* split noise pwr between real and imag sides */ + + for(i=0; isig_pwr_av: %e target_snr_linear: %f noise_pwr_4000Hz: %e noise_gain: %e\n", + sig_pwr, f->sig_pwr_av, target_snr_linear, noise_pwr_4000Hz, noise_gain); + */ +} + diff --git a/DSP_API/CODEC2_FREEDV/fdmdv_internal.h b/DSP_API/CODEC2_FREEDV/fdmdv_internal.h new file mode 100644 index 0000000..97011e8 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/fdmdv_internal.h @@ -0,0 +1,193 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fdmdv_internal.h + AUTHOR......: David Rowe + DATE CREATED: April 16 2012 + + Header file for FDMDV internal functions, exposed via this header + file for testing. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __FDMDV_INTERNAL__ +#define __FDMDV_INTERNAL__ + +#include "comp.h" +#include "codec2_fdmdv.h" +#include "kiss_fft.h" + +/*---------------------------------------------------------------------------*\ + + DEFINES + +\*---------------------------------------------------------------------------*/ + +#define PI 3.141592654 +#define FS 8000 /* sample rate in Hz */ +#define T (1.0/FS) /* sample period in seconds */ +#define RS 50 /* symbol rate in Hz */ +#define NC 20 /* max number of data carriers (plus one pilot in the centre) */ +#define NB 2 /* Bits/symbol for QPSK modulation */ +#define RB (NC*RS*NB) /* bit rate */ +#define M (FS/RS) /* oversampling factor */ +#define NSYM 6 /* number of symbols to filter over */ +#define NFILTER (NSYM*M) /* size of tx/rx filters at sample rate M */ + +#define FSEP 75 /* Default separation between carriers (Hz) */ + +#define NT 5 /* number of symbols we estimate timing over */ +#define P 4 /* oversample factor used for initial rx symbol filtering output */ +#define Q (M/4) /* oversample factor used for initial rx symbol filtering input */ +#define NRXDEC 31 /* number of taps in the rx decimation filter */ + +#define NPILOT_LUT (4*M) /* number of pilot look up table samples */ +#define NPILOTCOEFF 30 /* number of FIR filter coeffs in LP filter */ +#define NPILOTBASEBAND (NPILOTCOEFF+M+M/P) /* number of pilot baseband samples reqd for pilot LPF */ +#define NPILOTLPF (4*M) /* number of samples we DFT pilot over, pilot est window */ +#define MPILOTFFT 256 + +#define NSYNC_MEM 6 + +/* averaging filter coeffs */ + +#define TRACK_COEFF 0.5 +#define SNR_COEFF 0.9 /* SNR est averaging filter coeff */ + +/*---------------------------------------------------------------------------*\ + + STRUCT for States + +\*---------------------------------------------------------------------------*/ + +struct FDMDV { + + int Nc; + float fsep; + + /* test data (test frame) states */ + + int ntest_bits; + int current_test_bit; + int *rx_test_bits_mem; + + /* Modulator */ + + int old_qpsk_mapping; + int tx_pilot_bit; + COMP prev_tx_symbols[NC+1]; + COMP tx_filter_memory[NC+1][NSYM]; + COMP phase_tx[NC+1]; + COMP freq[NC+1]; + float freq_pol[NC+1]; + + /* Pilot generation at demodulator */ + + COMP pilot_lut[NPILOT_LUT]; + int pilot_lut_index; + int prev_pilot_lut_index; + + /* freq offset estimation states */ + + kiss_fft_cfg fft_pilot_cfg; + COMP pilot_baseband1[NPILOTBASEBAND]; + COMP pilot_baseband2[NPILOTBASEBAND]; + COMP pilot_lpf1[NPILOTLPF]; + COMP pilot_lpf2[NPILOTLPF]; + COMP S1[MPILOTFFT]; + COMP S2[MPILOTFFT]; + + /* baseband to low IF carrier states */ + + COMP fbb_rect; + float fbb_pol; + COMP fbb_phase_tx; + COMP fbb_phase_rx; + + /* freq offset correction states */ + + float foff; + COMP foff_phase_rect; + + /* Demodulator */ + + COMP rxdec_lpf_mem[NRXDEC-1+M]; + COMP rx_fdm_mem[NFILTER+M]; + COMP phase_rx[NC+1]; + COMP rx_filter_mem_timing[NC+1][NT*P]; + float rx_timing; + COMP phase_difference[NC+1]; + COMP prev_rx_symbols[NC+1]; + + /* sync state machine */ + + int sync_mem[NSYNC_MEM]; + int fest_state; + int sync; + int timer; + + /* SNR estimation states */ + + float sig_est[NC+1]; + float noise_est[NC+1]; + + /* Buf for FFT/waterfall */ + + float fft_buf[2*FDMDV_NSPEC]; + kiss_fft_cfg fft_cfg; + + /* channel simulation */ + + float sig_pwr_av; +}; + +/*---------------------------------------------------------------------------*\ + + FUNCTION PROTOTYPES + +\*---------------------------------------------------------------------------*/ + +void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], int tx_bits[], int *pilot_bit, int old_qpsk_mapping); +void tx_filter(COMP tx_baseband[NC+1][M], int Nc, COMP tx_symbols[], COMP tx_filter_memory[NC+1][NSYM]); +void fdm_upconvert(COMP tx_fdm[], int Nc, COMP tx_baseband[NC+1][M], COMP phase_tx[], COMP freq_tx[], + COMP *fbb_phase, COMP fbb_rect); +void tx_filter_and_upconvert(COMP tx_fdm[], int Nc, COMP tx_symbols[], + COMP tx_filter_memory[NC+1][NSYM], + COMP phase_tx[], COMP freq[], COMP *fbb_phase, COMP fbb_rect); +void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, float *filter_mem, COMP *phase, COMP *freq); +void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq); +float rx_est_freq_offset(struct FDMDV *f, COMP rx_fdm[], int nin, int do_fft); +void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], COMP pilot_lpf[], kiss_fft_cfg fft_pilot_cfg, COMP S[], int nin, int do_fft); +void fdm_downconvert(COMP rx_baseband[NC+1][M+M/P], int Nc, COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin); +void rxdec_filter(COMP rx_fdm_filter[], COMP rx_fdm[], COMP rxdec_lpf_mem[], int nin); +void rx_filter(COMP rx_filt[NC+1][P+1], int Nc, COMP rx_baseband[NC+1][M+M/P], COMP rx_filter_memory[NC+1][NFILTER], int nin); +void down_convert_and_rx_filter(COMP rx_filt[NC+1][P+1], int Nc, COMP rx_fdm[], + COMP rx_fdm_mem[], COMP phase_rx[], COMP freq[], + float freq_pol[], int nin, int dec_rate); +float rx_est_timing(COMP rx_symbols[], int Nc, + COMP rx_filt[NC+1][P+1], + COMP rx_filter_mem_timing[NC+1][NT*P], + float env[], + int nin); +float qpsk_to_bits(int rx_bits[], int *sync_bit, int Nc, COMP phase_difference[], COMP prev_rx_symbols[], COMP rx_symbols[], int old_qpsk_mapping); +void snr_update(float sig_est[], float noise_est[], int Nc, COMP phase_difference[]); +int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, int *sync_mem); +float calc_snr(int Nc, float sig_est[], float noise_est[]); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/fifo.c b/DSP_API/CODEC2_FREEDV/fifo.c new file mode 100644 index 0000000..566d77a --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/fifo.c @@ -0,0 +1,142 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fifo.c + AUTHOR......: David Rowe + DATE CREATED: Oct 15 2012 + + A FIFO design useful in gluing the FDMDV modem and codec together in + integrated applications. The unittest/tfifo indicates these + routines are thread safe without the need for syncronisation + object, e.g. a different thread can read and write to a fifo at the + same time. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include "codec2_fifo.h" + +struct FIFO { + short *buf; + short *pin; + short *pout; + int nshort; +}; + +struct FIFO *fifo_create(int nshort) { + struct FIFO *fifo; + + fifo = (struct FIFO *)malloc(sizeof(struct FIFO)); + assert(fifo != NULL); + + fifo->buf = (short*)malloc(sizeof(short)*nshort); + assert(fifo->buf != NULL); + fifo->pin = fifo->buf; + fifo->pout = fifo->buf; + fifo->nshort = nshort; + + return fifo; +} + +void fifo_destroy(struct FIFO *fifo) { + assert(fifo != NULL); + free(fifo->buf); + free(fifo); +} + +int fifo_write(struct FIFO *fifo, short data[], int n) { + int i; + int fifo_free; + short *pdata; + short *pin = fifo->pin; + + assert(fifo != NULL); + assert(data != NULL); + + // available storage is one less than nshort as prd == pwr + // is reserved for empty rather than full + + fifo_free = fifo->nshort - fifo_used(fifo) - 1; + + if (n > fifo_free) { + return -1; + } + else { + + /* This could be made more efficient with block copies + using memcpy */ + + pdata = data; + for(i=0; ibuf + fifo->nshort)) + pin = fifo->buf; + } + fifo->pin = pin; + } + + return 0; +} + +int fifo_read(struct FIFO *fifo, short data[], int n) +{ + int i; + short *pdata; + short *pout = fifo->pout; + + assert(fifo != NULL); + assert(data != NULL); + + if (n > fifo_used(fifo)) { + return -1; + } + else { + + /* This could be made more efficient with block copies + using memcpy */ + + pdata = data; + for(i=0; ibuf + fifo->nshort)) + pout = fifo->buf; + } + fifo->pout = pout; + } + + return 0; +} + +int fifo_used(struct FIFO *fifo) +{ + short *pin = fifo->pin; + short *pout = fifo->pout; + unsigned int used; + + assert(fifo != NULL); + if (pin >= pout) + used = pin - pout; + else + used = fifo->nshort + (unsigned int)(pin - pout); + + return used; +} + diff --git a/DSP_API/CODEC2_FREEDV/freedv_api.c b/DSP_API/CODEC2_FREEDV/freedv_api.c new file mode 100644 index 0000000..a5f9c19 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/freedv_api.c @@ -0,0 +1,398 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: freedv_api.c + AUTHOR......: David Rowe + DATE CREATED: August 2014 + + Library of API functions that implement FreeDV "modes", useful for + embedding FreeDV in other programs. + + TODO: + [X] speex tx/rx works + [X] txt messages + [ ] optional test tx framemode + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2014 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include + +#include "codec2.h" +#include "codec2_fdmdv.h" +#include "golay23.h" +#include "varicode.h" +#include "freedv_api.h" + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: freedv_open + AUTHOR......: David Rowe + DATE CREATED: 3 August 2014 + + Call this first to initialise. Returns NULL if initialisation fails + (e.g. out of memory or mode not supported). + +\*---------------------------------------------------------------------------*/ + +struct freedv *freedv_open(int mode) { + struct freedv *f; + int Nc, codec2_mode, nbit, nbyte; + + if (mode != FREEDV_MODE_1600) + return NULL; + + f = (struct freedv*)malloc(sizeof(struct freedv)); + if (f == NULL) + return NULL; + + f->mode = mode; + f->tx_sync_bit = 0; + f->snr_thresh = 2.0; + + if (mode == FREEDV_MODE_1600) { + Nc = 16; + codec2_mode = CODEC2_MODE_1300; + } + + f->codec2 = codec2_create(codec2_mode); + if (f->codec2 == NULL) + return NULL; + + f->fdmdv = fdmdv_create(Nc); + if (f->fdmdv == NULL) + return NULL; + + nbit = codec2_bits_per_frame(f->codec2); + nbyte = (nbit + 7) / 8; + f->packed_codec_bits = (unsigned char*)malloc(nbyte*sizeof(char)); + f->codec_bits = (int*)malloc(nbit*sizeof(int)); + + nbit = 2*fdmdv_bits_per_frame(f->fdmdv); + f->tx_bits = (int*)malloc(nbit*sizeof(int)); + f->rx_bits = (int*)malloc(nbit*sizeof(int)); + + nbit = fdmdv_bits_per_frame(f->fdmdv); + f->fdmdv_bits = (int*)malloc(nbit*sizeof(int)); + + if ((f->packed_codec_bits == NULL) || (f->codec_bits == NULL) + || (f->tx_bits == NULL) || (f->rx_bits == NULL) || (f->fdmdv_bits == NULL)) + return NULL; + + varicode_decode_init(&f->varicode_dec_states, 1); + f->nvaricode_bits = 0; + f->varicode_bit_index = 0; + f->freedv_get_next_tx_char = NULL; + f->freedv_put_next_rx_char = NULL; + + golay23_init(); + f->total_bit_errors = 0; + + f->nin = FDMDV_NOM_SAMPLES_PER_FRAME; + + return f; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: freedv_close + AUTHOR......: David Rowe + DATE CREATED: 3 August 2014 + + Frees up memory. + +\*---------------------------------------------------------------------------*/ + +void freedv_close(struct freedv *freedv) { + free(freedv->packed_codec_bits); + free(freedv->codec_bits); + free(freedv->tx_bits); + fdmdv_destroy(freedv->fdmdv); + codec2_destroy(freedv->codec2); + free(freedv); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: freedv_tx + AUTHOR......: David Rowe + DATE CREATED: 3 August 2014 + + Takes a frame of input speech samples, encodes and modulates them to produce + a frame of modem samples that can be sent to the transmitter. + + speech_in[] and mod_out[] are sampled at 8 kHz, 16 bit shorts, and + FREEDV_NSAMPLES long. The speech_in[] level should be such that the + peak speech level is between +/16384 and +/- 32767. mod_out[] will + be scaled such that the peak level is just less than +/-32767. + + The FDM modem signal mod_out[] has a high crest factor (around + 12dB), however the energy and duration of the peaks is small. + FreeDV is generally operated at a "backoff" of 6-8dB. Adjust the + power amplifier drive so that the average power is 6-8dB less than + the peak power of the PA. For example, on a radio rated at 100W PEP + for SSB, the average FreeDV power is typically 20-25W. + +\*---------------------------------------------------------------------------*/ + +void freedv_tx(struct freedv *f, short mod_out[], short speech_in[]) { + int bit, byte, i, j; + int bits_per_codec_frame, bits_per_fdmdv_frame; + int data, codeword1, data_flag_index; + COMP tx_fdm[2*FDMDV_NOM_SAMPLES_PER_FRAME]; + + bits_per_codec_frame = codec2_bits_per_frame(f->codec2); + bits_per_fdmdv_frame = fdmdv_bits_per_frame(f->fdmdv); + + codec2_encode(f->codec2, f->packed_codec_bits, speech_in); + + /* unpack bits, MSB first */ + + bit = 7; byte = 0; + for(i=0; icodec_bits[i] = (f->packed_codec_bits[byte] >> bit) & 0x1; + bit--; + if (bit < 0) { + bit = 7; + byte++; + } + } + + // spare bit in frame that codec defines. Use this 1 + // bit/frame to send txt messages + + data_flag_index = codec2_get_spare_bit_index(f->codec2); + + if (f->nvaricode_bits) { + f->codec_bits[data_flag_index] = f->tx_varicode_bits[f->varicode_bit_index++]; + f->nvaricode_bits--; + } + + if (f->nvaricode_bits == 0) { + /* get new char and encode */ + char s[2]; + if (f->freedv_get_next_tx_char != NULL) { + s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); + f->nvaricode_bits = varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, 1); + f->varicode_bit_index = 0; + } + } + + if (f->mode == FREEDV_MODE_1600) { + + /* Protect first 12 out of first 16 excitation bits with (23,12) Golay Code: + + 0,1,2,3: v[0]..v[1] + 4,5,6,7: MSB of pitch + 11,12,13,14: MSB of energy + + */ + + data = 0; + for(i=0; i<8; i++) { + data <<= 1; + data |= f->codec_bits[i]; + } + for(i=11; i<15; i++) { + data <<= 1; + data |= f->codec_bits[i]; + } + codeword1 = golay23_encode(data); + + /* now pack output frame with parity bits at end to make them + as far apart as possible from the data they protect. Parity + bits are LSB of the Golay codeword */ + + for(i=0; itx_bits[i] = f->codec_bits[i]; + for(j=0; itx_bits[i] = (codeword1 >> (10-j)) & 0x1; + } + f->tx_bits[i] = 0; /* spare bit */ + + //for(i=0; itx_bits[i]); + } + + /* modulate even and odd frames */ + + fdmdv_mod(f->fdmdv, tx_fdm, f->tx_bits, &f->tx_sync_bit); + assert(f->tx_sync_bit == 1); + + fdmdv_mod(f->fdmdv, &tx_fdm[FDMDV_NOM_SAMPLES_PER_FRAME], &f->tx_bits[bits_per_fdmdv_frame], &f->tx_sync_bit); + assert(f->tx_sync_bit == 0); + + for(i=0; i<2*FDMDV_NOM_SAMPLES_PER_FRAME; i++) + mod_out[i] = FDMDV_SCALE * tx_fdm[i].real; + + assert(2*FDMDV_NOM_SAMPLES_PER_FRAME == FREEDV_NSAMPLES); +} + +int freedv_nin(struct freedv *f) { + return f->nin; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: freedv_rx + AUTHOR......: David Rowe + DATE CREATED: 3 August 2014 + + Takes a frame of samples from the radio receiver, demodulates them, + then decodes them, producing a frame of decoded speech samples. + + Both demod_in[] and speech_out[] are 16 bit shorts sampled at 8 kHz. + The peak level of demod_in[] is not critical, as the demod works + well over a wide range of amplitude scaling. However it is best to + avoid clipping (overload, or samples pinned to +/- 32767). Suggest + scaling so the peak (modem signal plus noise) is between +/-16384 + and +/-32767. speech_out[] will peak at just less than +/-32767. + + To account for difference in the transmit and receive sample clock + frequencies, the number of demod_in[] samples is time varying. It + is the responsibility of the caller to supply the correct number of + samples. Call freedv_nin() before each call to freedv_rx() to + determine how many samples to pass to this function (see example). + + Returns the number of output speech samples available in + speech_out[]. When in sync this will typically alternate between 0 + and FREEDV_NSAMPLES. When out of sync, this will be f->nin. + + When out of sync, this function echoes the demod_in[] samples to + speech_out[]. This allows the user to listen to the channel, which + is useful for tuning FreeDV signals or reception of non-FreeDV + signals. + +\*---------------------------------------------------------------------------*/ + +int freedv_rx(struct freedv *f, short speech_out[], short demod_in[]) { + COMP rx_fdm[FDMDV_MAX_SAMPLES_PER_FRAME]; + int bits_per_codec_frame, bytes_per_codec_frame, bits_per_fdmdv_frame; + int reliable_sync_bit, i, j, bit, byte, nin_prev, nout; + int recd_codeword, codeword1, data_flag_index, n_ascii; + short abit[1]; + char ascii_out; + + bits_per_codec_frame = codec2_bits_per_frame(f->codec2); + bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; + bits_per_fdmdv_frame = fdmdv_bits_per_frame(f->fdmdv); + + for(i=0; inin; i++) { + rx_fdm[i].real = (float)demod_in[i]/FDMDV_SCALE; + rx_fdm[i].imag = 0; + } + + nin_prev = f->nin; + fdmdv_demod(f->fdmdv, f->fdmdv_bits, &reliable_sync_bit, rx_fdm, &f->nin); + fdmdv_get_demod_stats(f->fdmdv, &f->fdmdv_stats); + + if (f->fdmdv_stats.sync) { + if (reliable_sync_bit == 0) { + memcpy(f->rx_bits, f->fdmdv_bits, bits_per_fdmdv_frame*sizeof(int)); + nout = 0; + } + else { + memcpy(&f->rx_bits[bits_per_fdmdv_frame], f->fdmdv_bits, bits_per_fdmdv_frame*sizeof(int)); + + if (f->mode == FREEDV_MODE_1600) { + recd_codeword = 0; + for(i=0; i<8; i++) { + recd_codeword <<= 1; + recd_codeword |= f->rx_bits[i]; + } + for(i=11; i<15; i++) { + recd_codeword <<= 1; + recd_codeword |= f->rx_bits[i]; + } + for(i=bits_per_codec_frame; irx_bits[i]; + } + codeword1 = golay23_decode(recd_codeword); + f->total_bit_errors += golay23_count_errors(recd_codeword, codeword1); + + //codeword1 = recd_codeword; + //fprintf(stderr, "received codeword1: 0x%x decoded codeword1: 0x%x\n", recd_codeword, codeword1); + + for(i=0; icodec_bits[i] = f->rx_bits[i]; + + for(i=0; i<8; i++) { + f->codec_bits[i] = (codeword1 >> (22-i)) & 0x1; + } + for(i=8,j=11; i<12; i++,j++) { + f->codec_bits[j] = (codeword1 >> (22-i)) & 0x1; + } + } + + // extract txt msg data bit ------------------------------------------------------------ + + data_flag_index = codec2_get_spare_bit_index(f->codec2); + abit[0] = f->codec_bits[data_flag_index]; + + n_ascii = varicode_decode(&f->varicode_dec_states, &ascii_out, abit, 1, 1); + if (n_ascii && (f->freedv_put_next_rx_char != NULL)) { + (*f->freedv_put_next_rx_char)(f->callback_state, ascii_out); + } + + // reconstruct missing bit we steal for data bit and decode speech + + codec2_rebuild_spare_bit(f->codec2, f->codec_bits); + + // pack bits, MSB received first + + bit = 7; + byte = 0; + memset(f->packed_codec_bits, 0, bytes_per_codec_frame); + for(i=0; ipacked_codec_bits[byte] |= (f->codec_bits[i] << bit); + bit--; + if(bit < 0) { + bit = 7; + byte++; + } + } + + codec2_decode(f->codec2, speech_out, f->packed_codec_bits); + + /* squelch if beneath SNR threshold */ + + if (f->fdmdv_stats.snr_est < f->snr_thresh) { + for(i=0; i. +*/ + +#ifndef __FREEDV__ + +#define FREEDV_MODE_1600 0 +#define FREEDV_NSAMPLES 320 + +#include "varicode.h" +#include "codec2_fdmdv.h" + +struct freedv { + int mode; + + void *codec2; + struct FDMDV *fdmdv; + struct FDMDV_STATS fdmdv_stats; + + unsigned char *packed_codec_bits; + int *codec_bits; + int *tx_bits; + int *fdmdv_bits; + int *rx_bits; + int tx_sync_bit; + int total_bit_errors; + + float snr_thresh; + int nin; + + struct VARICODE_DEC varicode_dec_states; + short tx_varicode_bits[VARICODE_MAX_BITS]; + int nvaricode_bits; + int varicode_bit_index; + + /* user defined function ptrs to produce and consume ASCII + characters using aux txt channel */ + + char (*freedv_get_next_tx_char)(void *callback_state); + void (*freedv_put_next_rx_char)(void *callback_state, char c); + + void *callback_state; + +}; + +struct freedv *freedv_open(int mode); +void freedv_close(struct freedv *freedv); +void freedv_tx(struct freedv *f, short mod_out[], short speech_in[]); +int freedv_nin(struct freedv *f); +int freedv_rx(struct freedv *f, short speech_out[], short demod_in[]); + +//float Get_freedv_S2N(struct freedv *f); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/golay23.c b/DSP_API/CODEC2_FREEDV/golay23.c new file mode 100644 index 0000000..cc6c419 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/golay23.c @@ -0,0 +1,418 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: golay23.c + AUTHOR......: Robert Morelos-Zaragoza & David Rowe + DATE CREATED: 3 March 2013 + + To test: + + src$ gcc golay23.c -o golay23 -Wall -DGOLAY23_UNITTEST + src$ ./golay23 + + To generate tables: + src$ gcc golay23.c -o golay23 -Wall -DGOLAY23_MAKETABLES -DRUN_TIME_TABLES + +\*---------------------------------------------------------------------------*/ + +/* File: golay23.c + * Title: Encoder/decoder for a binary (23,12,7) Golay code + * Author: Robert Morelos-Zaragoza (robert@spectra.eng.hawaii.edu) + * Date: August 1994 + * + * The binary (23,12,7) Golay code is an example of a perfect code, that is, + * the number of syndromes equals the number of correctable error patterns. + * The minimum distance is 7, so all error patterns of Hamming weight up to + * 3 can be corrected. The total number of these error patterns is: + * + * Number of errors Number of patterns + * ---------------- ------------------ + * 0 1 + * 1 23 + * 2 253 + * 3 1771 + * ---- + * Total number of error patterns = 2048 = 2^{11} = number of syndromes + * -- + * number of redundant bits -------^ + * + * Because of its relatively low length (23), dimension (12) and number of + * redundant bits (11), the binary (23,12,7) Golay code can be encoded and + * decoded simply by using look-up tables. The program below uses a 16K + * encoding table and an 8K decoding table. + * + * For more information, suggestions, or other ideas on implementing error + * correcting codes, please contact me at (I'm temporarily in Japan, but + * below is my U.S. address): + * + * Robert Morelos-Zaragoza + * 770 S. Post Oak Ln. #200 + * Houston, Texas 77056 + * + * email: robert@spectra.eng.hawaii.edu + * + * Homework: Add an overall parity-check bit to get the (24,12,8) + * extended Golay code. + * + * COPYRIGHT NOTICE: This computer program is free for non-commercial purposes. + * You may implement this program for any non-commercial application. You may + * also implement this program for commercial purposes, provided that you + * obtain my written permission. Any modification of this program is covered + * by this copyright. + * + * == Copyright (c) 1994 Robert Morelos-Zaragoza. All rights reserved. == + */ + +#include "golay23.h" + +#include +#include +#include +#define X22 0x00400000 /* vector representation of X^{22} */ +#define X11 0x00000800 /* vector representation of X^{11} */ +#define MASK12 0xfffff800 /* auxiliary vector for testing */ +#define GENPOL 0x00000c75 /* generator polinomial, g(x) */ + +/* Global variables: + * + * pattern = error pattern, or information, or received vector + * encoding_table[] = encoding table + * decoding_table[] = decoding table + * data = information bits, i(x) + * codeword = code bits = x^{11}i(x) + (x^{11}i(x) mod g(x)) + * numerr = number of errors = Hamming weight of error polynomial e(x) + * position[] = error positions in the vector representation of e(x) + * recd = representation of corrupted received polynomial r(x) = c(x) + e(x) + * decerror = number of decoding errors + * a[] = auxiliary array to generate correctable error patterns + */ + +static int inited = 0; + +#ifdef RUN_TIME_TABLES +static int encoding_table[4096], decoding_table[2048]; +#else +#include "golayenctable.h" +#include "golaydectable.h" +#endif + +#ifdef GOLAY23_UNITTEST +static int position[23] = { 0x00000001, 0x00000002, 0x00000004, 0x00000008, + 0x00000010, 0x00000020, 0x00000040, 0x00000080, + 0x00000100, 0x00000200, 0x00000400, 0x00000800, + 0x00001000, 0x00002000, 0x00004000, 0x00008000, + 0x00010000, 0x00020000, 0x00040000, 0x00080000, + 0x00100000, 0x00200000, 0x00400000 }; +#endif + +#ifdef RUN_TIME_TABLES +static int arr2int(int a[], int r) +/* + * Convert a binary vector of Hamming weight r, and nonzero positions in + * array a[1]...a[r], to a long integer \sum_{i=1}^r 2^{a[i]-1}. + */ +{ + int i; + long mul, result = 0, temp; + + for (i=1; i<=r; i++) { + mul = 1; + temp = a[i]-1; + while (temp--) + mul = mul << 1; + result += mul; + } + return(result); +} +#endif + +void nextcomb(int n, int r, int a[]) +/* + * Calculate next r-combination of an n-set. + */ +{ + int i, j; + + a[r]++; + if (a[r] <= n) + return; + j = r - 1; + while (a[j] == n - r + j) + j--; + for (i = r; i >= j; i--) + a[i] = a[j] + i - j + 1; + return; +} + +int get_syndrome(int pattern) +/* + * Compute the syndrome corresponding to the given pattern, i.e., the + * remainder after dividing the pattern (when considering it as the vector + * representation of a polynomial) by the generator polynomial, GENPOL. + * In the program this pattern has several meanings: (1) pattern = infomation + * bits, when constructing the encoding table; (2) pattern = error pattern, + * when constructing the decoding table; and (3) pattern = received vector, to + * obtain its syndrome in decoding. + */ +{ + int aux = X22; + + if (pattern >= X11) + while (pattern & MASK12) { + while (!(aux & pattern)) + aux = aux >> 1; + pattern ^= (aux/X11) * GENPOL; + } + return(pattern); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: golay23_init() + AUTHOR......: David Rowe + DATE CREATED: 3 March 2013 + + Call this once when you start your program to init the Golay tables. + +\*---------------------------------------------------------------------------*/ + +void golay23_init(void) { +#ifdef RUN_TIME_TABLES + int i; + long temp; + int a[4]; + int pattern; + + /* + * --------------------------------------------------------------------- + * Generate ENCODING TABLE + * + * An entry to the table is an information vector, a 32-bit integer, + * whose 12 least significant positions are the information bits. The + * resulting value is a codeword in the (23,12,7) Golay code: A 32-bit + * integer whose 23 least significant bits are coded bits: Of these, the + * 12 most significant bits are information bits and the 11 least + * significant bits are redundant bits (systematic encoding). + * --------------------------------------------------------------------- + */ + for (pattern = 0; pattern < 4096; pattern++) { + temp = pattern << 11; /* multiply information by X^{11} */ + encoding_table[pattern] = temp + get_syndrome(temp);/* add redundancy */ + } + + /* + * --------------------------------------------------------------------- + * Generate DECODING TABLE + * + * An entry to the decoding table is a syndrome and the resulting value + * is the most likely error pattern. First an error pattern is generated. + * Then its syndrome is calculated and used as a pointer to the table + * where the error pattern value is stored. + * --------------------------------------------------------------------- + * + * (1) Error patterns of WEIGHT 1 (SINGLE ERRORS) + */ + decoding_table[0] = 0; + decoding_table[1] = 1; + temp = 1; + for (i=2; i<= 23; i++) { + temp *= 2; + decoding_table[get_syndrome(temp)] = temp; + } + /* + * (2) Error patterns of WEIGHT 2 (DOUBLE ERRORS) + */ + a[1] = 1; a[2] = 2; + temp = arr2int(a,2); + decoding_table[get_syndrome(temp)] = temp; + for (i=1; i<253; i++) { + nextcomb(23,2,a); + temp = arr2int(a,2); + decoding_table[get_syndrome(temp)] = temp; + } + /* + * (3) Error patterns of WEIGHT 3 (TRIPLE ERRORS) + */ + a[1] = 1; a[2] = 2; a[3] = 3; + temp = arr2int(a,3); + decoding_table[get_syndrome(temp)] = temp; + for (i=1; i<1771; i++) { + nextcomb(23,3,a); + temp = arr2int(a,3); + decoding_table[get_syndrome(temp)] = temp; + } +#endif + inited = 1; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: golay23_encode() + AUTHOR......: David Rowe + DATE CREATED: 3 March 2013 + + Given 12 bits of data retiurns a 23 bit codeword for transmission + over the channel. + +\*---------------------------------------------------------------------------*/ + +int golay23_encode(int data) { + assert(inited); + + //printf("data: 0x%x\n", data); + assert(data <= 0xfff); + return encoding_table[data]; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: golay23_decode() + AUTHOR......: David Rowe + DATE CREATED: 3 March 2013 + + Given a 23 bit received codeword, returns the 12 bit corrected data. + +\*---------------------------------------------------------------------------*/ + +int golay23_decode(int received_codeword) { + assert(inited); + + //printf("syndrome: 0x%x\n", get_syndrome(received_codeword)); + return received_codeword ^= decoding_table[get_syndrome(received_codeword)]; +} + +int golay23_count_errors(int recd_codeword, int corrected_codeword) +{ + int errors = 0; + int diff, i; + + diff = recd_codeword ^ corrected_codeword; + for(i=0; i<23; i++) { + if (diff & 0x1) + errors++; + diff >>= 1; + } + + return errors; +} + +#ifdef GOLAY23_UNITTEST + +static int golay23_test(int error_pattern) { + int data; + int codeword; + int recd; + int pattern; + int decerror; + int i, tests; + + decerror = 0; + tests = 0; + + for (data = 0; data<(1<<12); data++) { + + codeword = golay23_encode(data); + recd = codeword ^ error_pattern; + recd = golay23_decode(recd); + pattern = (recd ^ codeword) >> 11; + for (i=0; i<12; i++) + if (pattern & position[i]) + decerror++; + if (decerror) { + printf("data: 0x%x codeword: 0x%x recd: 0x%x\n", data, codeword, recd); + printf("there were %d decoding errors\n", decerror); + exit(1); + } + tests++; + } + + return tests; +} + +int main(void) +{ + int i; + int tests; + int a[4]; + int error_pattern; + + golay23_init(); + + /* --------------------------------------------------------------------- + * Generate DATA + * --------------------------------------------------------------------- + */ + + /* Test all combinations of data and 1,2 or 3 errors */ + + tests = 0; + error_pattern = 1; + for (i=0; i< 23; i++) { + //printf("error_pattern: 0x%x\n", error_pattern); + tests += golay23_test(error_pattern); + error_pattern *= 2; + } + printf("%d 1 bit error tests performed OK!\n", tests); + + tests = 0; + a[1] = 1; a[2] = 2; + error_pattern = arr2int(a,2); + tests += golay23_test(error_pattern); + for (i=1; i<253; i++) { + nextcomb(23,2,a); + error_pattern = arr2int(a,2); + //printf("error_pattern: 0x%x\n", error_pattern); + tests += golay23_test(error_pattern); + } + printf("%d 2 bit error tests performed OK!\n", tests); + + tests = 0; + a[1] = 1; a[2] = 2; a[3] = 3; + error_pattern = arr2int(a,3); + tests += golay23_test(error_pattern); + for (i=1; i<1771; i++) { + nextcomb(23,3,a); + error_pattern = arr2int(a,3); + //printf("error_pattern: 0x%x\n", error_pattern); + tests += golay23_test(error_pattern); + } + printf("%d 3 bit error tests performed OK!\n", tests); + + return 0; +} +#endif + +#ifdef GOLAY23_MAKETABLES +int main(int argc, char *argv[]) { + FILE *f; + int i; + + golay23_init(); + + f=fopen("golayenctable.h","wt"); + assert(f != NULL); + + fprintf(f,"/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\n"); + fprintf(f,"const int static encoding_table[]={\n"); + + for (i=0; i<4095; i++) + fprintf(f," 0x%x,\n", encoding_table[i]); + fprintf(f, " 0x%x\n};\n", encoding_table[i]); + fclose(f); + + f=fopen("golaydectable.h","wt"); + assert(f != NULL); + + fprintf(f,"/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\n"); + fprintf(f,"const int static decoding_table[]={\n"); + + for (i=0; i<2047; i++) + fprintf(f," 0x%x,\n", decoding_table[i]); + fprintf(f, " 0x%x\n};\n", decoding_table[i]); + fclose(f); + + return 0; +} + +#endif + + diff --git a/DSP_API/CODEC2_FREEDV/golay23.h b/DSP_API/CODEC2_FREEDV/golay23.h new file mode 100644 index 0000000..a916d29 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/golay23.h @@ -0,0 +1,44 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: golay23.h + AUTHOR......: David Rowe + DATE CREATED: 3 March 2013 + + Header file for Golay FEC. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2013 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __GOLAY23__ +#define __GOLAY23__ + +#ifdef __cplusplus +extern "C" { +#endif + +void golay23_init(void); +int golay23_encode(int data); +int golay23_decode(int received_codeword); +int golay23_count_errors(int recd_codeword, int corrected_codeword); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/DSP_API/CODEC2_FREEDV/golaydectable.h b/DSP_API/CODEC2_FREEDV/golaydectable.h new file mode 100644 index 0000000..bfc7670 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/golaydectable.h @@ -0,0 +1,2052 @@ +/* Generated by golay23.c -DGOLAY23_MAKETABLE */ + +const int static decoding_table[]={ + 0x0, + 0x1, + 0x2, + 0x3, + 0x4, + 0x5, + 0x6, + 0x7, + 0x8, + 0x9, + 0xa, + 0xb, + 0xc, + 0xd, + 0xe, + 0x24020, + 0x10, + 0x11, + 0x12, + 0x13, + 0x14, + 0x15, + 0x16, + 0x412000, + 0x18, + 0x19, + 0x1a, + 0x180800, + 0x1c, + 0x200300, + 0x48040, + 0x1480, + 0x20, + 0x21, + 0x22, + 0x23, + 0x24, + 0x25, + 0x26, + 0x24008, + 0x28, + 0x29, + 0x2a, + 0x24004, + 0x2c, + 0x24002, + 0x24001, + 0x24000, + 0x30, + 0x31, + 0x32, + 0x8180, + 0x34, + 0xc40, + 0x301000, + 0xc0200, + 0x38, + 0x43000, + 0x400600, + 0x210040, + 0x90080, + 0x508000, + 0x2900, + 0x24010, + 0x40, + 0x41, + 0x42, + 0x43, + 0x44, + 0x45, + 0x46, + 0x280080, + 0x48, + 0x49, + 0x4a, + 0x2500, + 0x4c, + 0x111000, + 0x48010, + 0x400a00, + 0x50, + 0x51, + 0x52, + 0x21200, + 0x54, + 0xc20, + 0x48008, + 0x104100, + 0x58, + 0x404080, + 0x48004, + 0x210020, + 0x48002, + 0xa2000, + 0x48000, + 0x48001, + 0x60, + 0x61, + 0x62, + 0x540000, + 0x64, + 0xc10, + 0x10300, + 0xb000, + 0x68, + 0x88200, + 0x1880, + 0x210010, + 0x602000, + 0x40180, + 0x180400, + 0x24040, + 0x70, + 0xc04, + 0x86000, + 0x210008, + 0xc01, + 0xc00, + 0x420080, + 0xc02, + 0x120100, + 0x210002, + 0x210001, + 0x210000, + 0x5200, + 0xc08, + 0x48020, + 0x210004, + 0x80, + 0x81, + 0x82, + 0x83, + 0x84, + 0x85, + 0x86, + 0x280040, + 0x88, + 0x89, + 0x8a, + 0x50200, + 0x8c, + 0xa800, + 0x500100, + 0x1410, + 0x90, + 0x91, + 0x92, + 0x8120, + 0x94, + 0x160000, + 0x4a00, + 0x1408, + 0x98, + 0x404040, + 0x222000, + 0x1404, + 0x90020, + 0x1402, + 0x1401, + 0x1400, + 0xa0, + 0xa1, + 0xa2, + 0x8110, + 0xa4, + 0x401200, + 0x42400, + 0x110800, + 0xa8, + 0x300400, + 0x1840, + 0x482000, + 0x90010, + 0x40140, + 0x208200, + 0x24080, + 0xb0, + 0x8102, + 0x8101, + 0x8100, + 0x90008, + 0x206000, + 0x420040, + 0x8104, + 0x90004, + 0x20a00, + 0x144000, + 0x8108, + 0x90000, + 0x90001, + 0x90002, + 0x1420, + 0xc0, + 0xc1, + 0xc2, + 0x280004, + 0xc4, + 0x280002, + 0x280001, + 0x280000, + 0xc8, + 0x404010, + 0x1820, + 0x128000, + 0x20600, + 0x40120, + 0x16000, + 0x280008, + 0xd0, + 0x404008, + 0x110400, + 0x42800, + 0x3100, + 0x18200, + 0x420020, + 0x280010, + 0x404001, + 0x404000, + 0x80300, + 0x404002, + 0x300800, + 0x404004, + 0x48080, + 0x1440, + 0xe0, + 0x32000, + 0x1808, + 0x4600, + 0x10c000, + 0x40108, + 0x420010, + 0x280020, + 0x1802, + 0x40104, + 0x1800, + 0x1801, + 0x40101, + 0x40100, + 0x1804, + 0x40102, + 0x240200, + 0x181000, + 0x420004, + 0x8140, + 0x420002, + 0xc80, + 0x420000, + 0x420001, + 0xa400, + 0x404020, + 0x1810, + 0x210080, + 0x90040, + 0x40110, + 0x420008, + 0x102200, + 0x100, + 0x101, + 0x102, + 0x103, + 0x104, + 0x105, + 0x106, + 0x41800, + 0x108, + 0x109, + 0x10a, + 0x2440, + 0x10c, + 0x200210, + 0x500080, + 0x98000, + 0x110, + 0x111, + 0x112, + 0x80a0, + 0x114, + 0x200208, + 0xa0400, + 0x104040, + 0x118, + 0x200204, + 0x15000, + 0x460000, + 0x200201, + 0x200200, + 0x2820, + 0x200202, + 0x120, + 0x121, + 0x122, + 0x8090, + 0x124, + 0x182000, + 0x10240, + 0x600400, + 0x128, + 0x410800, + 0x2c0000, + 0x101200, + 0x9400, + 0x400c0, + 0x2810, + 0x24100, + 0x130, + 0x8082, + 0x8081, + 0x8080, + 0x444000, + 0x31000, + 0x2808, + 0x8084, + 0x120040, + 0x84400, + 0x2804, + 0x8088, + 0x2802, + 0x200220, + 0x2800, + 0x2801, + 0x140, + 0x141, + 0x142, + 0x2408, + 0x144, + 0x428000, + 0x10220, + 0x104010, + 0x148, + 0x2402, + 0x2401, + 0x2400, + 0x84800, + 0x400a0, + 0x221000, + 0x2404, + 0x150, + 0xd0000, + 0x600800, + 0x104004, + 0x3080, + 0x104002, + 0x104001, + 0x104000, + 0x120020, + 0x9800, + 0x80280, + 0x2410, + 0x410400, + 0x200240, + 0x48100, + 0x104008, + 0x160, + 0x205000, + 0x10204, + 0xa0800, + 0x10202, + 0x40088, + 0x10200, + 0x10201, + 0x120010, + 0x40084, + 0x40c000, + 0x2420, + 0x40081, + 0x40080, + 0x10208, + 0x40082, + 0x120008, + 0x402200, + 0x41400, + 0x80c0, + 0x288000, + 0xd00, + 0x10210, + 0x104020, + 0x120000, + 0x120001, + 0x120002, + 0x210100, + 0x120004, + 0x40090, + 0x2840, + 0x481000, + 0x180, + 0x181, + 0x182, + 0x8030, + 0x184, + 0x14400, + 0x500008, + 0x22200, + 0x188, + 0xa1000, + 0x500004, + 0x204800, + 0x500002, + 0x40060, + 0x500000, + 0x500001, + 0x190, + 0x8022, + 0x8021, + 0x8020, + 0x3040, + 0x480800, + 0x250000, + 0x8024, + 0x40c00, + 0x112000, + 0x80240, + 0x8028, + 0x2c000, + 0x200280, + 0x500010, + 0x1500, + 0x1a0, + 0x8012, + 0x8011, + 0x8010, + 0x220800, + 0x40048, + 0x85000, + 0x8014, + 0x6200, + 0x40044, + 0x30400, + 0x8018, + 0x40041, + 0x40040, + 0x500020, + 0x40042, + 0x8003, + 0x8002, + 0x8001, + 0x8000, + 0x100600, + 0x8006, + 0x8005, + 0x8004, + 0x601000, + 0x800a, + 0x8009, + 0x8008, + 0x90100, + 0x40050, + 0x2880, + 0x800c, + 0x1c0, + 0x100a00, + 0x64000, + 0x411000, + 0x3010, + 0x40028, + 0x8c00, + 0x280100, + 0x218000, + 0x40024, + 0x80210, + 0x2480, + 0x40021, + 0x40020, + 0x500040, + 0x40022, + 0x3004, + 0x220400, + 0x80208, + 0x8060, + 0x3000, + 0x3001, + 0x3002, + 0x104080, + 0x80202, + 0x404100, + 0x80200, + 0x80201, + 0x3008, + 0x40030, + 0x80204, + 0x30800, + 0x480400, + 0x4000c, + 0x302000, + 0x8050, + 0x40009, + 0x40008, + 0x10280, + 0x4000a, + 0x40005, + 0x40004, + 0x1900, + 0x40006, + 0x40001, + 0x40000, + 0x40003, + 0x40002, + 0x14800, + 0x8042, + 0x8041, + 0x8040, + 0x3020, + 0x40018, + 0x420100, + 0x8044, + 0x120080, + 0x40014, + 0x80220, + 0x8048, + 0x40011, + 0x40010, + 0x204400, + 0x40012, + 0x200, + 0x201, + 0x202, + 0x203, + 0x204, + 0x205, + 0x206, + 0x108400, + 0x208, + 0x209, + 0x20a, + 0x50080, + 0x20c, + 0x200110, + 0x83000, + 0x400840, + 0x210, + 0x211, + 0x212, + 0x21040, + 0x214, + 0x200108, + 0x4880, + 0xc0020, + 0x218, + 0x200104, + 0x400420, + 0xe000, + 0x200101, + 0x200100, + 0x130000, + 0x200102, + 0x220, + 0x221, + 0x222, + 0x202800, + 0x224, + 0x401080, + 0x10140, + 0xc0010, + 0x228, + 0x88040, + 0x400410, + 0x101100, + 0x140800, + 0x12400, + 0x208080, + 0x24200, + 0x230, + 0x114000, + 0x400408, + 0xc0004, + 0x2a000, + 0xc0002, + 0xc0001, + 0xc0000, + 0x400402, + 0x20880, + 0x400400, + 0x400401, + 0x5040, + 0x200120, + 0x400404, + 0xc0008, + 0x240, + 0x241, + 0x242, + 0x21010, + 0x244, + 0x46000, + 0x10120, + 0x400808, + 0x248, + 0x88020, + 0x304000, + 0x400804, + 0x20480, + 0x400802, + 0x400801, + 0x400800, + 0x250, + 0x21002, + 0x21001, + 0x21000, + 0x580000, + 0x18080, + 0x202400, + 0x21004, + 0x12800, + 0x140400, + 0x80180, + 0x21008, + 0x5020, + 0x200140, + 0x48200, + 0x400810, + 0x260, + 0x88008, + 0x10104, + 0x4480, + 0x10102, + 0x320000, + 0x10100, + 0x10101, + 0x88001, + 0x88000, + 0x62000, + 0x88002, + 0x5010, + 0x88004, + 0x10108, + 0x400820, + 0x240080, + 0x402100, + 0x108800, + 0x21020, + 0x5008, + 0xe00, + 0x10110, + 0xc0040, + 0x5004, + 0x88010, + 0x400440, + 0x210200, + 0x5000, + 0x5001, + 0x5002, + 0x102080, + 0x280, + 0x281, + 0x282, + 0x50008, + 0x284, + 0x401020, + 0x4810, + 0x22100, + 0x288, + 0x50002, + 0x50001, + 0x50000, + 0x20440, + 0x184000, + 0x208020, + 0x50004, + 0x290, + 0x82400, + 0x4804, + 0x700000, + 0x4802, + 0x18040, + 0x4800, + 0x4801, + 0x109000, + 0x20820, + 0x80140, + 0x50010, + 0x442000, + 0x200180, + 0x4808, + 0x1600, + 0x2a0, + 0x401004, + 0x1a0000, + 0x4440, + 0x401001, + 0x401000, + 0x208008, + 0x401002, + 0x6100, + 0x20810, + 0x208004, + 0x50020, + 0x208002, + 0x401008, + 0x208000, + 0x208001, + 0x240040, + 0x20808, + 0x13000, + 0x8300, + 0x100500, + 0x401010, + 0x4820, + 0xc0080, + 0x20801, + 0x20800, + 0x400480, + 0x20802, + 0x90200, + 0x20804, + 0x208010, + 0x102040, + 0x2c0, + 0x100900, + 0x40a000, + 0x4420, + 0x20408, + 0x18010, + 0x141000, + 0x280200, + 0x20404, + 0x203000, + 0x80110, + 0x50040, + 0x20400, + 0x20401, + 0x20402, + 0x400880, + 0x240020, + 0x18004, + 0x80108, + 0x21080, + 0x18001, + 0x18000, + 0x4840, + 0x18002, + 0x80102, + 0x404200, + 0x80100, + 0x80101, + 0x20410, + 0x18008, + 0x80104, + 0x102020, + 0x240010, + 0x4402, + 0x4401, + 0x4400, + 0x82800, + 0x401040, + 0x10180, + 0x4404, + 0x510000, + 0x88080, + 0x1a00, + 0x4408, + 0x20420, + 0x40300, + 0x208040, + 0x102010, + 0x240000, + 0x240001, + 0x240002, + 0x4410, + 0x240004, + 0x18020, + 0x420200, + 0x102008, + 0x240008, + 0x20840, + 0x80120, + 0x102004, + 0x5080, + 0x102002, + 0x102001, + 0x102000, + 0x300, + 0x301, + 0x302, + 0x484000, + 0x304, + 0x200018, + 0x10060, + 0x22080, + 0x308, + 0x200014, + 0x28800, + 0x101020, + 0x200011, + 0x200010, + 0x44400, + 0x200012, + 0x310, + 0x20000c, + 0x142000, + 0x10c00, + 0x200009, + 0x200008, + 0x409000, + 0x20000a, + 0x200005, + 0x200004, + 0x800c0, + 0x200006, + 0x200001, + 0x200000, + 0x200003, + 0x200002, + 0x320, + 0x60400, + 0x10044, + 0x101008, + 0x10042, + 0xc800, + 0x10040, + 0x10041, + 0x6080, + 0x101002, + 0x101001, + 0x101000, + 0x4a0000, + 0x200030, + 0x10048, + 0x101004, + 0x81800, + 0x402040, + 0x224000, + 0x8280, + 0x100480, + 0x200028, + 0x10050, + 0xc0100, + 0x58000, + 0x200024, + 0x400500, + 0x101010, + 0x200021, + 0x200020, + 0x2a00, + 0x200022, + 0x340, + 0x100880, + 0x10024, + 0x248000, + 0x10022, + 0x81400, + 0x10020, + 0x10021, + 0x441000, + 0x34000, + 0x80090, + 0x2600, + 0x10a000, + 0x200050, + 0x10028, + 0x400900, + 0xc400, + 0x402020, + 0x80088, + 0x21100, + 0x60800, + 0x200048, + 0x10030, + 0x104200, + 0x80082, + 0x200044, + 0x80080, + 0x80081, + 0x200041, + 0x200040, + 0x80084, + 0x200042, + 0x10006, + 0x402010, + 0x10004, + 0x10005, + 0x10002, + 0x10003, + 0x10000, + 0x10001, + 0x200c00, + 0x88100, + 0x1000c, + 0x101040, + 0x1000a, + 0x40280, + 0x10008, + 0x10009, + 0x402001, + 0x402000, + 0x10014, + 0x402002, + 0x10012, + 0x402004, + 0x10010, + 0x10011, + 0x120200, + 0x402008, + 0x800a0, + 0x44800, + 0x5100, + 0x200060, + 0x10018, + 0x28400, + 0x380, + 0x100840, + 0x201400, + 0x22004, + 0xc8000, + 0x22002, + 0x22001, + 0x22000, + 0x6020, + 0x408400, + 0x80050, + 0x50100, + 0x11800, + 0x200090, + 0x500200, + 0x22008, + 0x430000, + 0x45000, + 0x80048, + 0x8220, + 0x100420, + 0x200088, + 0x4900, + 0x22010, + 0x80042, + 0x200084, + 0x80040, + 0x80041, + 0x200081, + 0x200080, + 0x80044, + 0x200082, + 0x6008, + 0x290000, + 0x440800, + 0x8210, + 0x100410, + 0x401100, + 0x100c0, + 0x22020, + 0x6000, + 0x6001, + 0x6002, + 0x101080, + 0x6004, + 0x40240, + 0x208100, + 0x80c00, + 0x100404, + 0x8202, + 0x8201, + 0x8200, + 0x100400, + 0x100401, + 0x100402, + 0x8204, + 0x6010, + 0x20900, + 0x80060, + 0x8208, + 0x100408, + 0x2000a0, + 0x61000, + 0x414000, + 0x100801, + 0x100800, + 0x80018, + 0x100802, + 0x604000, + 0x100804, + 0x100a0, + 0x22040, + 0x80012, + 0x100808, + 0x80010, + 0x80011, + 0x20500, + 0x40220, + 0x80014, + 0xd000, + 0x8000a, + 0x100810, + 0x80008, + 0x80009, + 0x3200, + 0x18100, + 0x8000c, + 0x440400, + 0x80002, + 0x80003, + 0x80000, + 0x80001, + 0x80006, + 0x2000c0, + 0x80004, + 0x80005, + 0x29000, + 0x100820, + 0x10084, + 0x4500, + 0x10082, + 0x40208, + 0x10080, + 0x10081, + 0x6040, + 0x40204, + 0x80030, + 0x620000, + 0x40201, + 0x40200, + 0x10088, + 0x40202, + 0x240100, + 0x402080, + 0x80028, + 0x8240, + 0x100440, + 0xa4000, + 0x10090, + 0x201800, + 0x80022, + 0x11400, + 0x80020, + 0x80021, + 0x408800, + 0x40210, + 0x80024, + 0x102100, + 0x400, + 0x401, + 0x402, + 0x403, + 0x404, + 0x405, + 0x406, + 0x108200, + 0x408, + 0x409, + 0x40a, + 0x2140, + 0x40c, + 0x4c0000, + 0x210800, + 0x1090, + 0x410, + 0x411, + 0x412, + 0x244000, + 0x414, + 0x860, + 0xa0100, + 0x1088, + 0x418, + 0x38000, + 0x400220, + 0x1084, + 0x106000, + 0x1082, + 0x1081, + 0x1080, + 0x420, + 0x421, + 0x422, + 0x91000, + 0x424, + 0x850, + 0x42080, + 0x600100, + 0x428, + 0x300080, + 0x400210, + 0x48800, + 0x9100, + 0x12200, + 0x180040, + 0x24400, + 0x430, + 0x844, + 0x400208, + 0x122000, + 0x841, + 0x840, + 0x1c000, + 0x842, + 0x400202, + 0x84100, + 0x400200, + 0x400201, + 0x260000, + 0x848, + 0x400204, + 0x10a0, + 0x440, + 0x441, + 0x442, + 0x2108, + 0x444, + 0x830, + 0x405000, + 0x70000, + 0x448, + 0x2102, + 0x2101, + 0x2100, + 0x20280, + 0x20c000, + 0x180020, + 0x2104, + 0x450, + 0x824, + 0x110080, + 0x488000, + 0x821, + 0x820, + 0x202200, + 0x822, + 0x281000, + 0x140200, + 0x24800, + 0x2110, + 0x410100, + 0x828, + 0x48400, + 0x10c0, + 0x460, + 0x814, + 0x228000, + 0x4280, + 0x811, + 0x810, + 0x180008, + 0x812, + 0x54000, + 0x421000, + 0x180004, + 0x2120, + 0x180002, + 0x818, + 0x180000, + 0x180001, + 0x805, + 0x804, + 0x41100, + 0x806, + 0x801, + 0x800, + 0x803, + 0x802, + 0xa080, + 0x80c, + 0x400240, + 0x210400, + 0x809, + 0x808, + 0x180010, + 0x80a, + 0x480, + 0x481, + 0x482, + 0x420800, + 0x484, + 0x14100, + 0x42020, + 0x1018, + 0x488, + 0x300020, + 0x8c000, + 0x1014, + 0x20240, + 0x1012, + 0x1011, + 0x1010, + 0x490, + 0x82200, + 0x110040, + 0x100c, + 0x608000, + 0x100a, + 0x1009, + 0x1008, + 0x40900, + 0x1006, + 0x1005, + 0x1004, + 0x1003, + 0x1002, + 0x1001, + 0x1000, + 0x4a0, + 0x300008, + 0x42004, + 0x4240, + 0x42002, + 0xa8000, + 0x42000, + 0x42001, + 0x300001, + 0x300000, + 0x30100, + 0x300002, + 0x404800, + 0x300004, + 0x42008, + 0x1030, + 0x25000, + 0x450000, + 0x280800, + 0x8500, + 0x100300, + 0x8c0, + 0x42010, + 0x1028, + 0xa040, + 0x300010, + 0x400280, + 0x1024, + 0x90400, + 0x1022, + 0x1021, + 0x1020, + 0x4c0, + 0x49000, + 0x110010, + 0x4220, + 0x20208, + 0x502000, + 0x8900, + 0x280400, + 0x20204, + 0x90800, + 0x640000, + 0x2180, + 0x20200, + 0x20201, + 0x20202, + 0x1050, + 0x110002, + 0x220100, + 0x110000, + 0x110001, + 0xc4000, + 0x8a0, + 0x110004, + 0x1048, + 0xa020, + 0x404400, + 0x110008, + 0x1044, + 0x20210, + 0x1042, + 0x1041, + 0x1040, + 0x480100, + 0x4202, + 0x4201, + 0x4200, + 0x211000, + 0x890, + 0x42040, + 0x4204, + 0xa010, + 0x300040, + 0x1c00, + 0x4208, + 0x20220, + 0x40500, + 0x180080, + 0x418000, + 0xa008, + 0x884, + 0x110020, + 0x4210, + 0x881, + 0x880, + 0x420400, + 0x882, + 0xa000, + 0xa001, + 0xa002, + 0xe0000, + 0xa004, + 0x888, + 0x204100, + 0x1060, + 0x500, + 0x501, + 0x502, + 0x2048, + 0x504, + 0x14080, + 0xa0010, + 0x600020, + 0x508, + 0x2042, + 0x2041, + 0x2040, + 0x9020, + 0x120800, + 0x44200, + 0x2044, + 0x510, + 0x501000, + 0xa0004, + 0x10a00, + 0xa0002, + 0x4a000, + 0xa0000, + 0xa0001, + 0x40880, + 0x84020, + 0x308000, + 0x2050, + 0x410040, + 0x200600, + 0xa0008, + 0x1180, + 0x520, + 0x60200, + 0x104800, + 0x600004, + 0x9008, + 0x600002, + 0x600001, + 0x600000, + 0x9004, + 0x84010, + 0x30080, + 0x2060, + 0x9000, + 0x9001, + 0x9002, + 0x600008, + 0x212000, + 0x84008, + 0x41040, + 0x8480, + 0x100280, + 0x940, + 0xa0020, + 0x600010, + 0x84001, + 0x84000, + 0x400300, + 0x84002, + 0x9010, + 0x84004, + 0x2c00, + 0x150000, + 0x540, + 0x200a, + 0x2009, + 0x2008, + 0x340000, + 0x81200, + 0x8880, + 0x200c, + 0x2003, + 0x2002, + 0x2001, + 0x2000, + 0x410010, + 0x2006, + 0x2005, + 0x2004, + 0xc200, + 0x220080, + 0x41020, + 0x2018, + 0x410008, + 0x920, + 0xa0040, + 0x104400, + 0x410004, + 0x2012, + 0x2011, + 0x2010, + 0x410000, + 0x410001, + 0x410002, + 0x2014, + 0x480080, + 0x118000, + 0x41010, + 0x2028, + 0x26000, + 0x910, + 0x10600, + 0x600040, + 0x200a00, + 0x2022, + 0x2021, + 0x2020, + 0x9040, + 0x40480, + 0x180100, + 0x2024, + 0x41002, + 0x904, + 0x41000, + 0x41001, + 0x901, + 0x900, + 0x41004, + 0x902, + 0x120400, + 0x84040, + 0x41008, + 0x2030, + 0x410020, + 0x908, + 0x204080, + 0x28200, + 0x580, + 0x14004, + 0x201200, + 0x1c0000, + 0x14001, + 0x14000, + 0x8840, + 0x14002, + 0x40810, + 0x408200, + 0x30020, + 0x20c0, + 0x282000, + 0x14008, + 0x500400, + 0x1110, + 0x40808, + 0x220040, + 0x406000, + 0x8420, + 0x100220, + 0x14010, + 0xa0080, + 0x1108, + 0x40800, + 0x40801, + 0x40802, + 0x1104, + 0x40804, + 0x1102, + 0x1101, + 0x1100, + 0x480040, + 0x3800, + 0x30008, + 0x8410, + 0x100210, + 0x14020, + 0x42100, + 0x600080, + 0x30002, + 0x300100, + 0x30000, + 0x30001, + 0x9080, + 0x40440, + 0x30004, + 0x80a00, + 0x100204, + 0x8402, + 0x8401, + 0x8400, + 0x100200, + 0x100201, + 0x100202, + 0x8404, + 0x40820, + 0x84080, + 0x30010, + 0x8408, + 0x100208, + 0x422000, + 0x204040, + 0x1120, + 0x480020, + 0x220010, + 0x8804, + 0x2088, + 0x8802, + 0x14040, + 0x8800, + 0x8801, + 0x105000, + 0x2082, + 0x2081, + 0x2080, + 0x20300, + 0x40420, + 0x8808, + 0x2084, + 0x220001, + 0x220000, + 0x110100, + 0x220002, + 0x3400, + 0x220004, + 0x8810, + 0x440200, + 0x40840, + 0x220008, + 0x80600, + 0x2090, + 0x410080, + 0x188000, + 0x204020, + 0x1140, + 0x480000, + 0x480001, + 0x480002, + 0x4300, + 0x480004, + 0x40408, + 0x8820, + 0x121000, + 0x480008, + 0x40404, + 0x30040, + 0x20a0, + 0x40401, + 0x40400, + 0x204010, + 0x40402, + 0x480010, + 0x220020, + 0x41080, + 0x8440, + 0x100240, + 0x980, + 0x204008, + 0x92000, + 0xa100, + 0x11200, + 0x204004, + 0x500800, + 0x204002, + 0x40410, + 0x204000, + 0x204001, + 0x600, + 0x601, + 0x602, + 0x108004, + 0x604, + 0x108002, + 0x108001, + 0x108000, + 0x608, + 0x5800, + 0x400030, + 0x2a0000, + 0x200c0, + 0x12020, + 0x44100, + 0x108008, + 0x610, + 0x82080, + 0x400028, + 0x10900, + 0x51000, + 0x424000, + 0x202040, + 0x108010, + 0x400022, + 0x140040, + 0x400020, + 0x400021, + 0x88800, + 0x200500, + 0x400024, + 0x1280, + 0x620, + 0x60100, + 0x400018, + 0x40c0, + 0x284000, + 0x12008, + 0x21800, + 0x108020, + 0x400012, + 0x12004, + 0x400010, + 0x400011, + 0x12001, + 0x12000, + 0x400014, + 0x12002, + 0x40000a, + 0x209000, + 0x400008, + 0x400009, + 0x100180, + 0xa40, + 0x40000c, + 0xc0400, + 0x400002, + 0x400003, + 0x400000, + 0x400001, + 0x400006, + 0x12010, + 0x400004, + 0x400005, + 0x640, + 0x610000, + 0xc0800, + 0x40a0, + 0x20088, + 0x81100, + 0x202010, + 0x108040, + 0x20084, + 0x140010, + 0x19000, + 0x2300, + 0x20080, + 0x20081, + 0x20082, + 0x400c00, + 0xc100, + 0x140008, + 0x202004, + 0x21400, + 0x202002, + 0xa20, + 0x202000, + 0x202001, + 0x140001, + 0x140000, + 0x400060, + 0x140002, + 0x20090, + 0x140004, + 0x202008, + 0x94000, + 0x103000, + 0x4082, + 0x4081, + 0x4080, + 0x448000, + 0xa10, + 0x10500, + 0x4084, + 0x200900, + 0x88400, + 0x400050, + 0x4088, + 0x200a0, + 0x12040, + 0x180200, + 0x241000, + 0xb0000, + 0xa04, + 0x400048, + 0x4090, + 0xa01, + 0xa00, + 0x202020, + 0xa02, + 0x400042, + 0x140020, + 0x400040, + 0x400041, + 0x5400, + 0xa08, + 0x400044, + 0x28100, + 0x680, + 0x82010, + 0x201100, + 0x4060, + 0x20048, + 0x240800, + 0x490000, + 0x108080, + 0x20044, + 0x408100, + 0x102800, + 0x50400, + 0x20040, + 0x20041, + 0x20042, + 0x1210, + 0x82001, + 0x82000, + 0x68000, + 0x82002, + 0x100120, + 0x82004, + 0x4c00, + 0x1208, + 0x214000, + 0x82008, + 0x4000a0, + 0x1204, + 0x20050, + 0x1202, + 0x1201, + 0x1200, + 0x18800, + 0x4042, + 0x4041, + 0x4040, + 0x100110, + 0x401400, + 0x42200, + 0x4044, + 0xc1000, + 0x300200, + 0x400090, + 0x4048, + 0x20060, + 0x12080, + 0x208400, + 0x80900, + 0x100104, + 0x82020, + 0x400088, + 0x4050, + 0x100100, + 0x100101, + 0x100102, + 0x230000, + 0x400082, + 0x20c00, + 0x400080, + 0x400081, + 0x100108, + 0x4c000, + 0x400084, + 0x1220, + 0x2000c, + 0x4022, + 0x4021, + 0x4020, + 0x20008, + 0x20009, + 0x2000a, + 0x4024, + 0x20004, + 0x20005, + 0x20006, + 0x4028, + 0x20000, + 0x20001, + 0x20002, + 0x20003, + 0x401800, + 0x82040, + 0x110200, + 0x4030, + 0x20018, + 0x18400, + 0x202080, + 0x440100, + 0x20014, + 0x140080, + 0x80500, + 0x208800, + 0x20010, + 0x20011, + 0x20012, + 0x1240, + 0x4003, + 0x4002, + 0x4001, + 0x4000, + 0x20028, + 0x4006, + 0x4005, + 0x4004, + 0x20024, + 0x400a, + 0x4009, + 0x4008, + 0x20020, + 0x20021, + 0x20022, + 0x400c, + 0x240400, + 0x4012, + 0x4011, + 0x4010, + 0x100140, + 0xa80, + 0x89000, + 0x4014, + 0xa200, + 0x11100, + 0x4000c0, + 0x4018, + 0x20030, + 0x680000, + 0x50800, + 0x102400, + 0x700, + 0x60020, + 0x201080, + 0x10810, + 0x402800, + 0x81040, + 0x44008, + 0x108100, + 0x190000, + 0x408080, + 0x44004, + 0x2240, + 0x44002, + 0x200410, + 0x44000, + 0x44001, + 0xc040, + 0x10802, + 0x10801, + 0x10800, + 0x1000a0, + 0x200408, + 0xa0200, + 0x10804, + 0x23000, + 0x200404, + 0x400120, + 0x10808, + 0x200401, + 0x200400, + 0x44010, + 0x200402, + 0x60001, + 0x60000, + 0x8a000, + 0x60002, + 0x100090, + 0x60004, + 0x10440, + 0x600200, + 0x200840, + 0x60008, + 0x400110, + 0x101400, + 0x9200, + 0x12100, + 0x44020, + 0x80880, + 0x100084, + 0x60010, + 0x400108, + 0x10820, + 0x100080, + 0x100081, + 0x100082, + 0x7000, + 0x400102, + 0x84200, + 0x400100, + 0x400101, + 0x100088, + 0x200420, + 0x400104, + 0x28040, + 0xc010, + 0x81004, + 0x520000, + 0x2208, + 0x81001, + 0x81000, + 0x10420, + 0x81002, + 0x200820, + 0x2202, + 0x2201, + 0x2200, + 0x20180, + 0x81008, + 0x44040, + 0x2204, + 0xc000, + 0xc001, + 0xc002, + 0x10840, + 0xc004, + 0x81010, + 0x202100, + 0x440080, + 0xc008, + 0x140100, + 0x80480, + 0x2210, + 0x410200, + 0x200440, + 0x101800, + 0x28020, + 0x200808, + 0x60040, + 0x10404, + 0x4180, + 0x10402, + 0x81020, + 0x10400, + 0x10401, + 0x200800, + 0x200801, + 0x200802, + 0x2220, + 0x200804, + 0x504000, + 0x10408, + 0x28010, + 0xc020, + 0x402400, + 0x41200, + 0x380000, + 0x1000c0, + 0xb00, + 0x10410, + 0x28008, + 0x200810, + 0x11080, + 0x400140, + 0x28004, + 0xc2000, + 0x28002, + 0x28001, + 0x28000, + 0x201002, + 0x408008, + 0x201000, + 0x201001, + 0x100030, + 0x14200, + 0x201004, + 0x22400, + 0x408001, + 0x408000, + 0x201008, + 0x408002, + 0x20140, + 0x408004, + 0x44080, + 0x80820, + 0x100024, + 0x82100, + 0x201010, + 0x10880, + 0x100020, + 0x100021, + 0x100022, + 0x440040, + 0x40a00, + 0x408010, + 0x80440, + 0x124000, + 0x100028, + 0x200480, + 0x1a000, + 0x1300, + 0x100014, + 0x60080, + 0x201020, + 0x4140, + 0x100010, + 0x100011, + 0x100012, + 0x80808, + 0x6400, + 0x408020, + 0x30200, + 0x80804, + 0x100018, + 0x80802, + 0x80801, + 0x80800, + 0x100004, + 0x100005, + 0x100006, + 0x8600, + 0x100000, + 0x100001, + 0x100002, + 0x100003, + 0x10000c, + 0x11040, + 0x400180, + 0x242000, + 0x100008, + 0x100009, + 0x10000a, + 0x80810, + 0x52000, + 0x100c00, + 0x201040, + 0x4120, + 0x20108, + 0x81080, + 0x8a00, + 0x440010, + 0x20104, + 0x408040, + 0x80410, + 0x2280, + 0x20100, + 0x20101, + 0x20102, + 0x310000, + 0xc080, + 0x220200, + 0x80408, + 0x440004, + 0x100060, + 0x440002, + 0x440001, + 0x440000, + 0x80402, + 0x11020, + 0x80400, + 0x80401, + 0x20110, + 0x6800, + 0x80404, + 0x440008, + 0x480200, + 0x4102, + 0x4101, + 0x4100, + 0x100050, + 0x20a000, + 0x10480, + 0x4104, + 0x200880, + 0x11010, + 0x148000, + 0x4108, + 0x20120, + 0x40600, + 0x403000, + 0x80840, + 0x100044, + 0x11008, + 0x22800, + 0x4110, + 0x100040, + 0x100041, + 0x100042, + 0x440020, + 0x11001, + 0x11000, + 0x80420, + 0x11002, + 0x100048, + 0x11004, + 0x204200, + 0x28080 +}; diff --git a/DSP_API/CODEC2_FREEDV/golayenctable.h b/DSP_API/CODEC2_FREEDV/golayenctable.h new file mode 100644 index 0000000..048cee8 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/golayenctable.h @@ -0,0 +1,4100 @@ +/* Generated by golay23.c -DGOLAY23_MAKETABLE */ + +const int static encoding_table[]={ + 0x0, + 0xc75, + 0x149f, + 0x18ea, + 0x254b, + 0x293e, + 0x31d4, + 0x3da1, + 0x46e3, + 0x4a96, + 0x527c, + 0x5e09, + 0x63a8, + 0x6fdd, + 0x7737, + 0x7b42, + 0x81b3, + 0x8dc6, + 0x952c, + 0x9959, + 0xa4f8, + 0xa88d, + 0xb067, + 0xbc12, + 0xc750, + 0xcb25, + 0xd3cf, + 0xdfba, + 0xe21b, + 0xee6e, + 0xf684, + 0xfaf1, + 0x10366, + 0x10f13, + 0x117f9, + 0x11b8c, + 0x1262d, + 0x12a58, + 0x132b2, + 0x13ec7, + 0x14585, + 0x149f0, + 0x1511a, + 0x15d6f, + 0x160ce, + 0x16cbb, + 0x17451, + 0x17824, + 0x182d5, + 0x18ea0, + 0x1964a, + 0x19a3f, + 0x1a79e, + 0x1abeb, + 0x1b301, + 0x1bf74, + 0x1c436, + 0x1c843, + 0x1d0a9, + 0x1dcdc, + 0x1e17d, + 0x1ed08, + 0x1f5e2, + 0x1f997, + 0x206cc, + 0x20ab9, + 0x21253, + 0x21e26, + 0x22387, + 0x22ff2, + 0x23718, + 0x23b6d, + 0x2402f, + 0x24c5a, + 0x254b0, + 0x258c5, + 0x26564, + 0x26911, + 0x271fb, + 0x27d8e, + 0x2877f, + 0x28b0a, + 0x293e0, + 0x29f95, + 0x2a234, + 0x2ae41, + 0x2b6ab, + 0x2bade, + 0x2c19c, + 0x2cde9, + 0x2d503, + 0x2d976, + 0x2e4d7, + 0x2e8a2, + 0x2f048, + 0x2fc3d, + 0x305aa, + 0x309df, + 0x31135, + 0x31d40, + 0x320e1, + 0x32c94, + 0x3347e, + 0x3380b, + 0x34349, + 0x34f3c, + 0x357d6, + 0x35ba3, + 0x36602, + 0x36a77, + 0x3729d, + 0x37ee8, + 0x38419, + 0x3886c, + 0x39086, + 0x39cf3, + 0x3a152, + 0x3ad27, + 0x3b5cd, + 0x3b9b8, + 0x3c2fa, + 0x3ce8f, + 0x3d665, + 0x3da10, + 0x3e7b1, + 0x3ebc4, + 0x3f32e, + 0x3ff5b, + 0x401ed, + 0x40d98, + 0x41572, + 0x41907, + 0x424a6, + 0x428d3, + 0x43039, + 0x43c4c, + 0x4470e, + 0x44b7b, + 0x45391, + 0x45fe4, + 0x46245, + 0x46e30, + 0x476da, + 0x47aaf, + 0x4805e, + 0x48c2b, + 0x494c1, + 0x498b4, + 0x4a515, + 0x4a960, + 0x4b18a, + 0x4bdff, + 0x4c6bd, + 0x4cac8, + 0x4d222, + 0x4de57, + 0x4e3f6, + 0x4ef83, + 0x4f769, + 0x4fb1c, + 0x5028b, + 0x50efe, + 0x51614, + 0x51a61, + 0x527c0, + 0x52bb5, + 0x5335f, + 0x53f2a, + 0x54468, + 0x5481d, + 0x550f7, + 0x55c82, + 0x56123, + 0x56d56, + 0x575bc, + 0x579c9, + 0x58338, + 0x58f4d, + 0x597a7, + 0x59bd2, + 0x5a673, + 0x5aa06, + 0x5b2ec, + 0x5be99, + 0x5c5db, + 0x5c9ae, + 0x5d144, + 0x5dd31, + 0x5e090, + 0x5ece5, + 0x5f40f, + 0x5f87a, + 0x60721, + 0x60b54, + 0x613be, + 0x61fcb, + 0x6226a, + 0x62e1f, + 0x636f5, + 0x63a80, + 0x641c2, + 0x64db7, + 0x6555d, + 0x65928, + 0x66489, + 0x668fc, + 0x67016, + 0x67c63, + 0x68692, + 0x68ae7, + 0x6920d, + 0x69e78, + 0x6a3d9, + 0x6afac, + 0x6b746, + 0x6bb33, + 0x6c071, + 0x6cc04, + 0x6d4ee, + 0x6d89b, + 0x6e53a, + 0x6e94f, + 0x6f1a5, + 0x6fdd0, + 0x70447, + 0x70832, + 0x710d8, + 0x71cad, + 0x7210c, + 0x72d79, + 0x73593, + 0x739e6, + 0x742a4, + 0x74ed1, + 0x7563b, + 0x75a4e, + 0x767ef, + 0x76b9a, + 0x77370, + 0x77f05, + 0x785f4, + 0x78981, + 0x7916b, + 0x79d1e, + 0x7a0bf, + 0x7acca, + 0x7b420, + 0x7b855, + 0x7c317, + 0x7cf62, + 0x7d788, + 0x7dbfd, + 0x7e65c, + 0x7ea29, + 0x7f2c3, + 0x7feb6, + 0x803da, + 0x80faf, + 0x81745, + 0x81b30, + 0x82691, + 0x82ae4, + 0x8320e, + 0x83e7b, + 0x84539, + 0x8494c, + 0x851a6, + 0x85dd3, + 0x86072, + 0x86c07, + 0x874ed, + 0x87898, + 0x88269, + 0x88e1c, + 0x896f6, + 0x89a83, + 0x8a722, + 0x8ab57, + 0x8b3bd, + 0x8bfc8, + 0x8c48a, + 0x8c8ff, + 0x8d015, + 0x8dc60, + 0x8e1c1, + 0x8edb4, + 0x8f55e, + 0x8f92b, + 0x900bc, + 0x90cc9, + 0x91423, + 0x91856, + 0x925f7, + 0x92982, + 0x93168, + 0x93d1d, + 0x9465f, + 0x94a2a, + 0x952c0, + 0x95eb5, + 0x96314, + 0x96f61, + 0x9778b, + 0x97bfe, + 0x9810f, + 0x98d7a, + 0x99590, + 0x999e5, + 0x9a444, + 0x9a831, + 0x9b0db, + 0x9bcae, + 0x9c7ec, + 0x9cb99, + 0x9d373, + 0x9df06, + 0x9e2a7, + 0x9eed2, + 0x9f638, + 0x9fa4d, + 0xa0516, + 0xa0963, + 0xa1189, + 0xa1dfc, + 0xa205d, + 0xa2c28, + 0xa34c2, + 0xa38b7, + 0xa43f5, + 0xa4f80, + 0xa576a, + 0xa5b1f, + 0xa66be, + 0xa6acb, + 0xa7221, + 0xa7e54, + 0xa84a5, + 0xa88d0, + 0xa903a, + 0xa9c4f, + 0xaa1ee, + 0xaad9b, + 0xab571, + 0xab904, + 0xac246, + 0xace33, + 0xad6d9, + 0xadaac, + 0xae70d, + 0xaeb78, + 0xaf392, + 0xaffe7, + 0xb0670, + 0xb0a05, + 0xb12ef, + 0xb1e9a, + 0xb233b, + 0xb2f4e, + 0xb37a4, + 0xb3bd1, + 0xb4093, + 0xb4ce6, + 0xb540c, + 0xb5879, + 0xb65d8, + 0xb69ad, + 0xb7147, + 0xb7d32, + 0xb87c3, + 0xb8bb6, + 0xb935c, + 0xb9f29, + 0xba288, + 0xbaefd, + 0xbb617, + 0xbba62, + 0xbc120, + 0xbcd55, + 0xbd5bf, + 0xbd9ca, + 0xbe46b, + 0xbe81e, + 0xbf0f4, + 0xbfc81, + 0xc0237, + 0xc0e42, + 0xc16a8, + 0xc1add, + 0xc277c, + 0xc2b09, + 0xc33e3, + 0xc3f96, + 0xc44d4, + 0xc48a1, + 0xc504b, + 0xc5c3e, + 0xc619f, + 0xc6dea, + 0xc7500, + 0xc7975, + 0xc8384, + 0xc8ff1, + 0xc971b, + 0xc9b6e, + 0xca6cf, + 0xcaaba, + 0xcb250, + 0xcbe25, + 0xcc567, + 0xcc912, + 0xcd1f8, + 0xcdd8d, + 0xce02c, + 0xcec59, + 0xcf4b3, + 0xcf8c6, + 0xd0151, + 0xd0d24, + 0xd15ce, + 0xd19bb, + 0xd241a, + 0xd286f, + 0xd3085, + 0xd3cf0, + 0xd47b2, + 0xd4bc7, + 0xd532d, + 0xd5f58, + 0xd62f9, + 0xd6e8c, + 0xd7666, + 0xd7a13, + 0xd80e2, + 0xd8c97, + 0xd947d, + 0xd9808, + 0xda5a9, + 0xda9dc, + 0xdb136, + 0xdbd43, + 0xdc601, + 0xdca74, + 0xdd29e, + 0xddeeb, + 0xde34a, + 0xdef3f, + 0xdf7d5, + 0xdfba0, + 0xe04fb, + 0xe088e, + 0xe1064, + 0xe1c11, + 0xe21b0, + 0xe2dc5, + 0xe352f, + 0xe395a, + 0xe4218, + 0xe4e6d, + 0xe5687, + 0xe5af2, + 0xe6753, + 0xe6b26, + 0xe73cc, + 0xe7fb9, + 0xe8548, + 0xe893d, + 0xe91d7, + 0xe9da2, + 0xea003, + 0xeac76, + 0xeb49c, + 0xeb8e9, + 0xec3ab, + 0xecfde, + 0xed734, + 0xedb41, + 0xee6e0, + 0xeea95, + 0xef27f, + 0xefe0a, + 0xf079d, + 0xf0be8, + 0xf1302, + 0xf1f77, + 0xf22d6, + 0xf2ea3, + 0xf3649, + 0xf3a3c, + 0xf417e, + 0xf4d0b, + 0xf55e1, + 0xf5994, + 0xf6435, + 0xf6840, + 0xf70aa, + 0xf7cdf, + 0xf862e, + 0xf8a5b, + 0xf92b1, + 0xf9ec4, + 0xfa365, + 0xfaf10, + 0xfb7fa, + 0xfbb8f, + 0xfc0cd, + 0xfccb8, + 0xfd452, + 0xfd827, + 0xfe586, + 0xfe9f3, + 0xff119, + 0xffd6c, + 0x1007b4, + 0x100bc1, + 0x10132b, + 0x101f5e, + 0x1022ff, + 0x102e8a, + 0x103660, + 0x103a15, + 0x104157, + 0x104d22, + 0x1055c8, + 0x1059bd, + 0x10641c, + 0x106869, + 0x107083, + 0x107cf6, + 0x108607, + 0x108a72, + 0x109298, + 0x109eed, + 0x10a34c, + 0x10af39, + 0x10b7d3, + 0x10bba6, + 0x10c0e4, + 0x10cc91, + 0x10d47b, + 0x10d80e, + 0x10e5af, + 0x10e9da, + 0x10f130, + 0x10fd45, + 0x1104d2, + 0x1108a7, + 0x11104d, + 0x111c38, + 0x112199, + 0x112dec, + 0x113506, + 0x113973, + 0x114231, + 0x114e44, + 0x1156ae, + 0x115adb, + 0x11677a, + 0x116b0f, + 0x1173e5, + 0x117f90, + 0x118561, + 0x118914, + 0x1191fe, + 0x119d8b, + 0x11a02a, + 0x11ac5f, + 0x11b4b5, + 0x11b8c0, + 0x11c382, + 0x11cff7, + 0x11d71d, + 0x11db68, + 0x11e6c9, + 0x11eabc, + 0x11f256, + 0x11fe23, + 0x120178, + 0x120d0d, + 0x1215e7, + 0x121992, + 0x122433, + 0x122846, + 0x1230ac, + 0x123cd9, + 0x12479b, + 0x124bee, + 0x125304, + 0x125f71, + 0x1262d0, + 0x126ea5, + 0x12764f, + 0x127a3a, + 0x1280cb, + 0x128cbe, + 0x129454, + 0x129821, + 0x12a580, + 0x12a9f5, + 0x12b11f, + 0x12bd6a, + 0x12c628, + 0x12ca5d, + 0x12d2b7, + 0x12dec2, + 0x12e363, + 0x12ef16, + 0x12f7fc, + 0x12fb89, + 0x13021e, + 0x130e6b, + 0x131681, + 0x131af4, + 0x132755, + 0x132b20, + 0x1333ca, + 0x133fbf, + 0x1344fd, + 0x134888, + 0x135062, + 0x135c17, + 0x1361b6, + 0x136dc3, + 0x137529, + 0x13795c, + 0x1383ad, + 0x138fd8, + 0x139732, + 0x139b47, + 0x13a6e6, + 0x13aa93, + 0x13b279, + 0x13be0c, + 0x13c54e, + 0x13c93b, + 0x13d1d1, + 0x13dda4, + 0x13e005, + 0x13ec70, + 0x13f49a, + 0x13f8ef, + 0x140659, + 0x140a2c, + 0x1412c6, + 0x141eb3, + 0x142312, + 0x142f67, + 0x14378d, + 0x143bf8, + 0x1440ba, + 0x144ccf, + 0x145425, + 0x145850, + 0x1465f1, + 0x146984, + 0x14716e, + 0x147d1b, + 0x1487ea, + 0x148b9f, + 0x149375, + 0x149f00, + 0x14a2a1, + 0x14aed4, + 0x14b63e, + 0x14ba4b, + 0x14c109, + 0x14cd7c, + 0x14d596, + 0x14d9e3, + 0x14e442, + 0x14e837, + 0x14f0dd, + 0x14fca8, + 0x15053f, + 0x15094a, + 0x1511a0, + 0x151dd5, + 0x152074, + 0x152c01, + 0x1534eb, + 0x15389e, + 0x1543dc, + 0x154fa9, + 0x155743, + 0x155b36, + 0x156697, + 0x156ae2, + 0x157208, + 0x157e7d, + 0x15848c, + 0x1588f9, + 0x159013, + 0x159c66, + 0x15a1c7, + 0x15adb2, + 0x15b558, + 0x15b92d, + 0x15c26f, + 0x15ce1a, + 0x15d6f0, + 0x15da85, + 0x15e724, + 0x15eb51, + 0x15f3bb, + 0x15ffce, + 0x160095, + 0x160ce0, + 0x16140a, + 0x16187f, + 0x1625de, + 0x1629ab, + 0x163141, + 0x163d34, + 0x164676, + 0x164a03, + 0x1652e9, + 0x165e9c, + 0x16633d, + 0x166f48, + 0x1677a2, + 0x167bd7, + 0x168126, + 0x168d53, + 0x1695b9, + 0x1699cc, + 0x16a46d, + 0x16a818, + 0x16b0f2, + 0x16bc87, + 0x16c7c5, + 0x16cbb0, + 0x16d35a, + 0x16df2f, + 0x16e28e, + 0x16eefb, + 0x16f611, + 0x16fa64, + 0x1703f3, + 0x170f86, + 0x17176c, + 0x171b19, + 0x1726b8, + 0x172acd, + 0x173227, + 0x173e52, + 0x174510, + 0x174965, + 0x17518f, + 0x175dfa, + 0x17605b, + 0x176c2e, + 0x1774c4, + 0x1778b1, + 0x178240, + 0x178e35, + 0x1796df, + 0x179aaa, + 0x17a70b, + 0x17ab7e, + 0x17b394, + 0x17bfe1, + 0x17c4a3, + 0x17c8d6, + 0x17d03c, + 0x17dc49, + 0x17e1e8, + 0x17ed9d, + 0x17f577, + 0x17f902, + 0x18046e, + 0x18081b, + 0x1810f1, + 0x181c84, + 0x182125, + 0x182d50, + 0x1835ba, + 0x1839cf, + 0x18428d, + 0x184ef8, + 0x185612, + 0x185a67, + 0x1867c6, + 0x186bb3, + 0x187359, + 0x187f2c, + 0x1885dd, + 0x1889a8, + 0x189142, + 0x189d37, + 0x18a096, + 0x18ace3, + 0x18b409, + 0x18b87c, + 0x18c33e, + 0x18cf4b, + 0x18d7a1, + 0x18dbd4, + 0x18e675, + 0x18ea00, + 0x18f2ea, + 0x18fe9f, + 0x190708, + 0x190b7d, + 0x191397, + 0x191fe2, + 0x192243, + 0x192e36, + 0x1936dc, + 0x193aa9, + 0x1941eb, + 0x194d9e, + 0x195574, + 0x195901, + 0x1964a0, + 0x1968d5, + 0x19703f, + 0x197c4a, + 0x1986bb, + 0x198ace, + 0x199224, + 0x199e51, + 0x19a3f0, + 0x19af85, + 0x19b76f, + 0x19bb1a, + 0x19c058, + 0x19cc2d, + 0x19d4c7, + 0x19d8b2, + 0x19e513, + 0x19e966, + 0x19f18c, + 0x19fdf9, + 0x1a02a2, + 0x1a0ed7, + 0x1a163d, + 0x1a1a48, + 0x1a27e9, + 0x1a2b9c, + 0x1a3376, + 0x1a3f03, + 0x1a4441, + 0x1a4834, + 0x1a50de, + 0x1a5cab, + 0x1a610a, + 0x1a6d7f, + 0x1a7595, + 0x1a79e0, + 0x1a8311, + 0x1a8f64, + 0x1a978e, + 0x1a9bfb, + 0x1aa65a, + 0x1aaa2f, + 0x1ab2c5, + 0x1abeb0, + 0x1ac5f2, + 0x1ac987, + 0x1ad16d, + 0x1add18, + 0x1ae0b9, + 0x1aeccc, + 0x1af426, + 0x1af853, + 0x1b01c4, + 0x1b0db1, + 0x1b155b, + 0x1b192e, + 0x1b248f, + 0x1b28fa, + 0x1b3010, + 0x1b3c65, + 0x1b4727, + 0x1b4b52, + 0x1b53b8, + 0x1b5fcd, + 0x1b626c, + 0x1b6e19, + 0x1b76f3, + 0x1b7a86, + 0x1b8077, + 0x1b8c02, + 0x1b94e8, + 0x1b989d, + 0x1ba53c, + 0x1ba949, + 0x1bb1a3, + 0x1bbdd6, + 0x1bc694, + 0x1bcae1, + 0x1bd20b, + 0x1bde7e, + 0x1be3df, + 0x1befaa, + 0x1bf740, + 0x1bfb35, + 0x1c0583, + 0x1c09f6, + 0x1c111c, + 0x1c1d69, + 0x1c20c8, + 0x1c2cbd, + 0x1c3457, + 0x1c3822, + 0x1c4360, + 0x1c4f15, + 0x1c57ff, + 0x1c5b8a, + 0x1c662b, + 0x1c6a5e, + 0x1c72b4, + 0x1c7ec1, + 0x1c8430, + 0x1c8845, + 0x1c90af, + 0x1c9cda, + 0x1ca17b, + 0x1cad0e, + 0x1cb5e4, + 0x1cb991, + 0x1cc2d3, + 0x1ccea6, + 0x1cd64c, + 0x1cda39, + 0x1ce798, + 0x1cebed, + 0x1cf307, + 0x1cff72, + 0x1d06e5, + 0x1d0a90, + 0x1d127a, + 0x1d1e0f, + 0x1d23ae, + 0x1d2fdb, + 0x1d3731, + 0x1d3b44, + 0x1d4006, + 0x1d4c73, + 0x1d5499, + 0x1d58ec, + 0x1d654d, + 0x1d6938, + 0x1d71d2, + 0x1d7da7, + 0x1d8756, + 0x1d8b23, + 0x1d93c9, + 0x1d9fbc, + 0x1da21d, + 0x1dae68, + 0x1db682, + 0x1dbaf7, + 0x1dc1b5, + 0x1dcdc0, + 0x1dd52a, + 0x1dd95f, + 0x1de4fe, + 0x1de88b, + 0x1df061, + 0x1dfc14, + 0x1e034f, + 0x1e0f3a, + 0x1e17d0, + 0x1e1ba5, + 0x1e2604, + 0x1e2a71, + 0x1e329b, + 0x1e3eee, + 0x1e45ac, + 0x1e49d9, + 0x1e5133, + 0x1e5d46, + 0x1e60e7, + 0x1e6c92, + 0x1e7478, + 0x1e780d, + 0x1e82fc, + 0x1e8e89, + 0x1e9663, + 0x1e9a16, + 0x1ea7b7, + 0x1eabc2, + 0x1eb328, + 0x1ebf5d, + 0x1ec41f, + 0x1ec86a, + 0x1ed080, + 0x1edcf5, + 0x1ee154, + 0x1eed21, + 0x1ef5cb, + 0x1ef9be, + 0x1f0029, + 0x1f0c5c, + 0x1f14b6, + 0x1f18c3, + 0x1f2562, + 0x1f2917, + 0x1f31fd, + 0x1f3d88, + 0x1f46ca, + 0x1f4abf, + 0x1f5255, + 0x1f5e20, + 0x1f6381, + 0x1f6ff4, + 0x1f771e, + 0x1f7b6b, + 0x1f819a, + 0x1f8def, + 0x1f9505, + 0x1f9970, + 0x1fa4d1, + 0x1fa8a4, + 0x1fb04e, + 0x1fbc3b, + 0x1fc779, + 0x1fcb0c, + 0x1fd3e6, + 0x1fdf93, + 0x1fe232, + 0x1fee47, + 0x1ff6ad, + 0x1ffad8, + 0x20031d, + 0x200f68, + 0x201782, + 0x201bf7, + 0x202656, + 0x202a23, + 0x2032c9, + 0x203ebc, + 0x2045fe, + 0x20498b, + 0x205161, + 0x205d14, + 0x2060b5, + 0x206cc0, + 0x20742a, + 0x20785f, + 0x2082ae, + 0x208edb, + 0x209631, + 0x209a44, + 0x20a7e5, + 0x20ab90, + 0x20b37a, + 0x20bf0f, + 0x20c44d, + 0x20c838, + 0x20d0d2, + 0x20dca7, + 0x20e106, + 0x20ed73, + 0x20f599, + 0x20f9ec, + 0x21007b, + 0x210c0e, + 0x2114e4, + 0x211891, + 0x212530, + 0x212945, + 0x2131af, + 0x213dda, + 0x214698, + 0x214aed, + 0x215207, + 0x215e72, + 0x2163d3, + 0x216fa6, + 0x21774c, + 0x217b39, + 0x2181c8, + 0x218dbd, + 0x219557, + 0x219922, + 0x21a483, + 0x21a8f6, + 0x21b01c, + 0x21bc69, + 0x21c72b, + 0x21cb5e, + 0x21d3b4, + 0x21dfc1, + 0x21e260, + 0x21ee15, + 0x21f6ff, + 0x21fa8a, + 0x2205d1, + 0x2209a4, + 0x22114e, + 0x221d3b, + 0x22209a, + 0x222cef, + 0x223405, + 0x223870, + 0x224332, + 0x224f47, + 0x2257ad, + 0x225bd8, + 0x226679, + 0x226a0c, + 0x2272e6, + 0x227e93, + 0x228462, + 0x228817, + 0x2290fd, + 0x229c88, + 0x22a129, + 0x22ad5c, + 0x22b5b6, + 0x22b9c3, + 0x22c281, + 0x22cef4, + 0x22d61e, + 0x22da6b, + 0x22e7ca, + 0x22ebbf, + 0x22f355, + 0x22ff20, + 0x2306b7, + 0x230ac2, + 0x231228, + 0x231e5d, + 0x2323fc, + 0x232f89, + 0x233763, + 0x233b16, + 0x234054, + 0x234c21, + 0x2354cb, + 0x2358be, + 0x23651f, + 0x23696a, + 0x237180, + 0x237df5, + 0x238704, + 0x238b71, + 0x23939b, + 0x239fee, + 0x23a24f, + 0x23ae3a, + 0x23b6d0, + 0x23baa5, + 0x23c1e7, + 0x23cd92, + 0x23d578, + 0x23d90d, + 0x23e4ac, + 0x23e8d9, + 0x23f033, + 0x23fc46, + 0x2402f0, + 0x240e85, + 0x24166f, + 0x241a1a, + 0x2427bb, + 0x242bce, + 0x243324, + 0x243f51, + 0x244413, + 0x244866, + 0x24508c, + 0x245cf9, + 0x246158, + 0x246d2d, + 0x2475c7, + 0x2479b2, + 0x248343, + 0x248f36, + 0x2497dc, + 0x249ba9, + 0x24a608, + 0x24aa7d, + 0x24b297, + 0x24bee2, + 0x24c5a0, + 0x24c9d5, + 0x24d13f, + 0x24dd4a, + 0x24e0eb, + 0x24ec9e, + 0x24f474, + 0x24f801, + 0x250196, + 0x250de3, + 0x251509, + 0x25197c, + 0x2524dd, + 0x2528a8, + 0x253042, + 0x253c37, + 0x254775, + 0x254b00, + 0x2553ea, + 0x255f9f, + 0x25623e, + 0x256e4b, + 0x2576a1, + 0x257ad4, + 0x258025, + 0x258c50, + 0x2594ba, + 0x2598cf, + 0x25a56e, + 0x25a91b, + 0x25b1f1, + 0x25bd84, + 0x25c6c6, + 0x25cab3, + 0x25d259, + 0x25de2c, + 0x25e38d, + 0x25eff8, + 0x25f712, + 0x25fb67, + 0x26043c, + 0x260849, + 0x2610a3, + 0x261cd6, + 0x262177, + 0x262d02, + 0x2635e8, + 0x26399d, + 0x2642df, + 0x264eaa, + 0x265640, + 0x265a35, + 0x266794, + 0x266be1, + 0x26730b, + 0x267f7e, + 0x26858f, + 0x2689fa, + 0x269110, + 0x269d65, + 0x26a0c4, + 0x26acb1, + 0x26b45b, + 0x26b82e, + 0x26c36c, + 0x26cf19, + 0x26d7f3, + 0x26db86, + 0x26e627, + 0x26ea52, + 0x26f2b8, + 0x26fecd, + 0x27075a, + 0x270b2f, + 0x2713c5, + 0x271fb0, + 0x272211, + 0x272e64, + 0x27368e, + 0x273afb, + 0x2741b9, + 0x274dcc, + 0x275526, + 0x275953, + 0x2764f2, + 0x276887, + 0x27706d, + 0x277c18, + 0x2786e9, + 0x278a9c, + 0x279276, + 0x279e03, + 0x27a3a2, + 0x27afd7, + 0x27b73d, + 0x27bb48, + 0x27c00a, + 0x27cc7f, + 0x27d495, + 0x27d8e0, + 0x27e541, + 0x27e934, + 0x27f1de, + 0x27fdab, + 0x2800c7, + 0x280cb2, + 0x281458, + 0x28182d, + 0x28258c, + 0x2829f9, + 0x283113, + 0x283d66, + 0x284624, + 0x284a51, + 0x2852bb, + 0x285ece, + 0x28636f, + 0x286f1a, + 0x2877f0, + 0x287b85, + 0x288174, + 0x288d01, + 0x2895eb, + 0x28999e, + 0x28a43f, + 0x28a84a, + 0x28b0a0, + 0x28bcd5, + 0x28c797, + 0x28cbe2, + 0x28d308, + 0x28df7d, + 0x28e2dc, + 0x28eea9, + 0x28f643, + 0x28fa36, + 0x2903a1, + 0x290fd4, + 0x29173e, + 0x291b4b, + 0x2926ea, + 0x292a9f, + 0x293275, + 0x293e00, + 0x294542, + 0x294937, + 0x2951dd, + 0x295da8, + 0x296009, + 0x296c7c, + 0x297496, + 0x2978e3, + 0x298212, + 0x298e67, + 0x29968d, + 0x299af8, + 0x29a759, + 0x29ab2c, + 0x29b3c6, + 0x29bfb3, + 0x29c4f1, + 0x29c884, + 0x29d06e, + 0x29dc1b, + 0x29e1ba, + 0x29edcf, + 0x29f525, + 0x29f950, + 0x2a060b, + 0x2a0a7e, + 0x2a1294, + 0x2a1ee1, + 0x2a2340, + 0x2a2f35, + 0x2a37df, + 0x2a3baa, + 0x2a40e8, + 0x2a4c9d, + 0x2a5477, + 0x2a5802, + 0x2a65a3, + 0x2a69d6, + 0x2a713c, + 0x2a7d49, + 0x2a87b8, + 0x2a8bcd, + 0x2a9327, + 0x2a9f52, + 0x2aa2f3, + 0x2aae86, + 0x2ab66c, + 0x2aba19, + 0x2ac15b, + 0x2acd2e, + 0x2ad5c4, + 0x2ad9b1, + 0x2ae410, + 0x2ae865, + 0x2af08f, + 0x2afcfa, + 0x2b056d, + 0x2b0918, + 0x2b11f2, + 0x2b1d87, + 0x2b2026, + 0x2b2c53, + 0x2b34b9, + 0x2b38cc, + 0x2b438e, + 0x2b4ffb, + 0x2b5711, + 0x2b5b64, + 0x2b66c5, + 0x2b6ab0, + 0x2b725a, + 0x2b7e2f, + 0x2b84de, + 0x2b88ab, + 0x2b9041, + 0x2b9c34, + 0x2ba195, + 0x2bade0, + 0x2bb50a, + 0x2bb97f, + 0x2bc23d, + 0x2bce48, + 0x2bd6a2, + 0x2bdad7, + 0x2be776, + 0x2beb03, + 0x2bf3e9, + 0x2bff9c, + 0x2c012a, + 0x2c0d5f, + 0x2c15b5, + 0x2c19c0, + 0x2c2461, + 0x2c2814, + 0x2c30fe, + 0x2c3c8b, + 0x2c47c9, + 0x2c4bbc, + 0x2c5356, + 0x2c5f23, + 0x2c6282, + 0x2c6ef7, + 0x2c761d, + 0x2c7a68, + 0x2c8099, + 0x2c8cec, + 0x2c9406, + 0x2c9873, + 0x2ca5d2, + 0x2ca9a7, + 0x2cb14d, + 0x2cbd38, + 0x2cc67a, + 0x2cca0f, + 0x2cd2e5, + 0x2cde90, + 0x2ce331, + 0x2cef44, + 0x2cf7ae, + 0x2cfbdb, + 0x2d024c, + 0x2d0e39, + 0x2d16d3, + 0x2d1aa6, + 0x2d2707, + 0x2d2b72, + 0x2d3398, + 0x2d3fed, + 0x2d44af, + 0x2d48da, + 0x2d5030, + 0x2d5c45, + 0x2d61e4, + 0x2d6d91, + 0x2d757b, + 0x2d790e, + 0x2d83ff, + 0x2d8f8a, + 0x2d9760, + 0x2d9b15, + 0x2da6b4, + 0x2daac1, + 0x2db22b, + 0x2dbe5e, + 0x2dc51c, + 0x2dc969, + 0x2dd183, + 0x2dddf6, + 0x2de057, + 0x2dec22, + 0x2df4c8, + 0x2df8bd, + 0x2e07e6, + 0x2e0b93, + 0x2e1379, + 0x2e1f0c, + 0x2e22ad, + 0x2e2ed8, + 0x2e3632, + 0x2e3a47, + 0x2e4105, + 0x2e4d70, + 0x2e559a, + 0x2e59ef, + 0x2e644e, + 0x2e683b, + 0x2e70d1, + 0x2e7ca4, + 0x2e8655, + 0x2e8a20, + 0x2e92ca, + 0x2e9ebf, + 0x2ea31e, + 0x2eaf6b, + 0x2eb781, + 0x2ebbf4, + 0x2ec0b6, + 0x2eccc3, + 0x2ed429, + 0x2ed85c, + 0x2ee5fd, + 0x2ee988, + 0x2ef162, + 0x2efd17, + 0x2f0480, + 0x2f08f5, + 0x2f101f, + 0x2f1c6a, + 0x2f21cb, + 0x2f2dbe, + 0x2f3554, + 0x2f3921, + 0x2f4263, + 0x2f4e16, + 0x2f56fc, + 0x2f5a89, + 0x2f6728, + 0x2f6b5d, + 0x2f73b7, + 0x2f7fc2, + 0x2f8533, + 0x2f8946, + 0x2f91ac, + 0x2f9dd9, + 0x2fa078, + 0x2fac0d, + 0x2fb4e7, + 0x2fb892, + 0x2fc3d0, + 0x2fcfa5, + 0x2fd74f, + 0x2fdb3a, + 0x2fe69b, + 0x2feaee, + 0x2ff204, + 0x2ffe71, + 0x3004a9, + 0x3008dc, + 0x301036, + 0x301c43, + 0x3021e2, + 0x302d97, + 0x30357d, + 0x303908, + 0x30424a, + 0x304e3f, + 0x3056d5, + 0x305aa0, + 0x306701, + 0x306b74, + 0x30739e, + 0x307feb, + 0x30851a, + 0x30896f, + 0x309185, + 0x309df0, + 0x30a051, + 0x30ac24, + 0x30b4ce, + 0x30b8bb, + 0x30c3f9, + 0x30cf8c, + 0x30d766, + 0x30db13, + 0x30e6b2, + 0x30eac7, + 0x30f22d, + 0x30fe58, + 0x3107cf, + 0x310bba, + 0x311350, + 0x311f25, + 0x312284, + 0x312ef1, + 0x31361b, + 0x313a6e, + 0x31412c, + 0x314d59, + 0x3155b3, + 0x3159c6, + 0x316467, + 0x316812, + 0x3170f8, + 0x317c8d, + 0x31867c, + 0x318a09, + 0x3192e3, + 0x319e96, + 0x31a337, + 0x31af42, + 0x31b7a8, + 0x31bbdd, + 0x31c09f, + 0x31ccea, + 0x31d400, + 0x31d875, + 0x31e5d4, + 0x31e9a1, + 0x31f14b, + 0x31fd3e, + 0x320265, + 0x320e10, + 0x3216fa, + 0x321a8f, + 0x32272e, + 0x322b5b, + 0x3233b1, + 0x323fc4, + 0x324486, + 0x3248f3, + 0x325019, + 0x325c6c, + 0x3261cd, + 0x326db8, + 0x327552, + 0x327927, + 0x3283d6, + 0x328fa3, + 0x329749, + 0x329b3c, + 0x32a69d, + 0x32aae8, + 0x32b202, + 0x32be77, + 0x32c535, + 0x32c940, + 0x32d1aa, + 0x32dddf, + 0x32e07e, + 0x32ec0b, + 0x32f4e1, + 0x32f894, + 0x330103, + 0x330d76, + 0x33159c, + 0x3319e9, + 0x332448, + 0x33283d, + 0x3330d7, + 0x333ca2, + 0x3347e0, + 0x334b95, + 0x33537f, + 0x335f0a, + 0x3362ab, + 0x336ede, + 0x337634, + 0x337a41, + 0x3380b0, + 0x338cc5, + 0x33942f, + 0x33985a, + 0x33a5fb, + 0x33a98e, + 0x33b164, + 0x33bd11, + 0x33c653, + 0x33ca26, + 0x33d2cc, + 0x33deb9, + 0x33e318, + 0x33ef6d, + 0x33f787, + 0x33fbf2, + 0x340544, + 0x340931, + 0x3411db, + 0x341dae, + 0x34200f, + 0x342c7a, + 0x343490, + 0x3438e5, + 0x3443a7, + 0x344fd2, + 0x345738, + 0x345b4d, + 0x3466ec, + 0x346a99, + 0x347273, + 0x347e06, + 0x3484f7, + 0x348882, + 0x349068, + 0x349c1d, + 0x34a1bc, + 0x34adc9, + 0x34b523, + 0x34b956, + 0x34c214, + 0x34ce61, + 0x34d68b, + 0x34dafe, + 0x34e75f, + 0x34eb2a, + 0x34f3c0, + 0x34ffb5, + 0x350622, + 0x350a57, + 0x3512bd, + 0x351ec8, + 0x352369, + 0x352f1c, + 0x3537f6, + 0x353b83, + 0x3540c1, + 0x354cb4, + 0x35545e, + 0x35582b, + 0x35658a, + 0x3569ff, + 0x357115, + 0x357d60, + 0x358791, + 0x358be4, + 0x35930e, + 0x359f7b, + 0x35a2da, + 0x35aeaf, + 0x35b645, + 0x35ba30, + 0x35c172, + 0x35cd07, + 0x35d5ed, + 0x35d998, + 0x35e439, + 0x35e84c, + 0x35f0a6, + 0x35fcd3, + 0x360388, + 0x360ffd, + 0x361717, + 0x361b62, + 0x3626c3, + 0x362ab6, + 0x36325c, + 0x363e29, + 0x36456b, + 0x36491e, + 0x3651f4, + 0x365d81, + 0x366020, + 0x366c55, + 0x3674bf, + 0x3678ca, + 0x36823b, + 0x368e4e, + 0x3696a4, + 0x369ad1, + 0x36a770, + 0x36ab05, + 0x36b3ef, + 0x36bf9a, + 0x36c4d8, + 0x36c8ad, + 0x36d047, + 0x36dc32, + 0x36e193, + 0x36ede6, + 0x36f50c, + 0x36f979, + 0x3700ee, + 0x370c9b, + 0x371471, + 0x371804, + 0x3725a5, + 0x3729d0, + 0x37313a, + 0x373d4f, + 0x37460d, + 0x374a78, + 0x375292, + 0x375ee7, + 0x376346, + 0x376f33, + 0x3777d9, + 0x377bac, + 0x37815d, + 0x378d28, + 0x3795c2, + 0x3799b7, + 0x37a416, + 0x37a863, + 0x37b089, + 0x37bcfc, + 0x37c7be, + 0x37cbcb, + 0x37d321, + 0x37df54, + 0x37e2f5, + 0x37ee80, + 0x37f66a, + 0x37fa1f, + 0x380773, + 0x380b06, + 0x3813ec, + 0x381f99, + 0x382238, + 0x382e4d, + 0x3836a7, + 0x383ad2, + 0x384190, + 0x384de5, + 0x38550f, + 0x38597a, + 0x3864db, + 0x3868ae, + 0x387044, + 0x387c31, + 0x3886c0, + 0x388ab5, + 0x38925f, + 0x389e2a, + 0x38a38b, + 0x38affe, + 0x38b714, + 0x38bb61, + 0x38c023, + 0x38cc56, + 0x38d4bc, + 0x38d8c9, + 0x38e568, + 0x38e91d, + 0x38f1f7, + 0x38fd82, + 0x390415, + 0x390860, + 0x39108a, + 0x391cff, + 0x39215e, + 0x392d2b, + 0x3935c1, + 0x3939b4, + 0x3942f6, + 0x394e83, + 0x395669, + 0x395a1c, + 0x3967bd, + 0x396bc8, + 0x397322, + 0x397f57, + 0x3985a6, + 0x3989d3, + 0x399139, + 0x399d4c, + 0x39a0ed, + 0x39ac98, + 0x39b472, + 0x39b807, + 0x39c345, + 0x39cf30, + 0x39d7da, + 0x39dbaf, + 0x39e60e, + 0x39ea7b, + 0x39f291, + 0x39fee4, + 0x3a01bf, + 0x3a0dca, + 0x3a1520, + 0x3a1955, + 0x3a24f4, + 0x3a2881, + 0x3a306b, + 0x3a3c1e, + 0x3a475c, + 0x3a4b29, + 0x3a53c3, + 0x3a5fb6, + 0x3a6217, + 0x3a6e62, + 0x3a7688, + 0x3a7afd, + 0x3a800c, + 0x3a8c79, + 0x3a9493, + 0x3a98e6, + 0x3aa547, + 0x3aa932, + 0x3ab1d8, + 0x3abdad, + 0x3ac6ef, + 0x3aca9a, + 0x3ad270, + 0x3ade05, + 0x3ae3a4, + 0x3aefd1, + 0x3af73b, + 0x3afb4e, + 0x3b02d9, + 0x3b0eac, + 0x3b1646, + 0x3b1a33, + 0x3b2792, + 0x3b2be7, + 0x3b330d, + 0x3b3f78, + 0x3b443a, + 0x3b484f, + 0x3b50a5, + 0x3b5cd0, + 0x3b6171, + 0x3b6d04, + 0x3b75ee, + 0x3b799b, + 0x3b836a, + 0x3b8f1f, + 0x3b97f5, + 0x3b9b80, + 0x3ba621, + 0x3baa54, + 0x3bb2be, + 0x3bbecb, + 0x3bc589, + 0x3bc9fc, + 0x3bd116, + 0x3bdd63, + 0x3be0c2, + 0x3becb7, + 0x3bf45d, + 0x3bf828, + 0x3c069e, + 0x3c0aeb, + 0x3c1201, + 0x3c1e74, + 0x3c23d5, + 0x3c2fa0, + 0x3c374a, + 0x3c3b3f, + 0x3c407d, + 0x3c4c08, + 0x3c54e2, + 0x3c5897, + 0x3c6536, + 0x3c6943, + 0x3c71a9, + 0x3c7ddc, + 0x3c872d, + 0x3c8b58, + 0x3c93b2, + 0x3c9fc7, + 0x3ca266, + 0x3cae13, + 0x3cb6f9, + 0x3cba8c, + 0x3cc1ce, + 0x3ccdbb, + 0x3cd551, + 0x3cd924, + 0x3ce485, + 0x3ce8f0, + 0x3cf01a, + 0x3cfc6f, + 0x3d05f8, + 0x3d098d, + 0x3d1167, + 0x3d1d12, + 0x3d20b3, + 0x3d2cc6, + 0x3d342c, + 0x3d3859, + 0x3d431b, + 0x3d4f6e, + 0x3d5784, + 0x3d5bf1, + 0x3d6650, + 0x3d6a25, + 0x3d72cf, + 0x3d7eba, + 0x3d844b, + 0x3d883e, + 0x3d90d4, + 0x3d9ca1, + 0x3da100, + 0x3dad75, + 0x3db59f, + 0x3db9ea, + 0x3dc2a8, + 0x3dcedd, + 0x3dd637, + 0x3dda42, + 0x3de7e3, + 0x3deb96, + 0x3df37c, + 0x3dff09, + 0x3e0052, + 0x3e0c27, + 0x3e14cd, + 0x3e18b8, + 0x3e2519, + 0x3e296c, + 0x3e3186, + 0x3e3df3, + 0x3e46b1, + 0x3e4ac4, + 0x3e522e, + 0x3e5e5b, + 0x3e63fa, + 0x3e6f8f, + 0x3e7765, + 0x3e7b10, + 0x3e81e1, + 0x3e8d94, + 0x3e957e, + 0x3e990b, + 0x3ea4aa, + 0x3ea8df, + 0x3eb035, + 0x3ebc40, + 0x3ec702, + 0x3ecb77, + 0x3ed39d, + 0x3edfe8, + 0x3ee249, + 0x3eee3c, + 0x3ef6d6, + 0x3efaa3, + 0x3f0334, + 0x3f0f41, + 0x3f17ab, + 0x3f1bde, + 0x3f267f, + 0x3f2a0a, + 0x3f32e0, + 0x3f3e95, + 0x3f45d7, + 0x3f49a2, + 0x3f5148, + 0x3f5d3d, + 0x3f609c, + 0x3f6ce9, + 0x3f7403, + 0x3f7876, + 0x3f8287, + 0x3f8ef2, + 0x3f9618, + 0x3f9a6d, + 0x3fa7cc, + 0x3fabb9, + 0x3fb353, + 0x3fbf26, + 0x3fc464, + 0x3fc811, + 0x3fd0fb, + 0x3fdc8e, + 0x3fe12f, + 0x3fed5a, + 0x3ff5b0, + 0x3ff9c5, + 0x40063a, + 0x400a4f, + 0x4012a5, + 0x401ed0, + 0x402371, + 0x402f04, + 0x4037ee, + 0x403b9b, + 0x4040d9, + 0x404cac, + 0x405446, + 0x405833, + 0x406592, + 0x4069e7, + 0x40710d, + 0x407d78, + 0x408789, + 0x408bfc, + 0x409316, + 0x409f63, + 0x40a2c2, + 0x40aeb7, + 0x40b65d, + 0x40ba28, + 0x40c16a, + 0x40cd1f, + 0x40d5f5, + 0x40d980, + 0x40e421, + 0x40e854, + 0x40f0be, + 0x40fccb, + 0x41055c, + 0x410929, + 0x4111c3, + 0x411db6, + 0x412017, + 0x412c62, + 0x413488, + 0x4138fd, + 0x4143bf, + 0x414fca, + 0x415720, + 0x415b55, + 0x4166f4, + 0x416a81, + 0x41726b, + 0x417e1e, + 0x4184ef, + 0x41889a, + 0x419070, + 0x419c05, + 0x41a1a4, + 0x41add1, + 0x41b53b, + 0x41b94e, + 0x41c20c, + 0x41ce79, + 0x41d693, + 0x41dae6, + 0x41e747, + 0x41eb32, + 0x41f3d8, + 0x41ffad, + 0x4200f6, + 0x420c83, + 0x421469, + 0x42181c, + 0x4225bd, + 0x4229c8, + 0x423122, + 0x423d57, + 0x424615, + 0x424a60, + 0x42528a, + 0x425eff, + 0x42635e, + 0x426f2b, + 0x4277c1, + 0x427bb4, + 0x428145, + 0x428d30, + 0x4295da, + 0x4299af, + 0x42a40e, + 0x42a87b, + 0x42b091, + 0x42bce4, + 0x42c7a6, + 0x42cbd3, + 0x42d339, + 0x42df4c, + 0x42e2ed, + 0x42ee98, + 0x42f672, + 0x42fa07, + 0x430390, + 0x430fe5, + 0x43170f, + 0x431b7a, + 0x4326db, + 0x432aae, + 0x433244, + 0x433e31, + 0x434573, + 0x434906, + 0x4351ec, + 0x435d99, + 0x436038, + 0x436c4d, + 0x4374a7, + 0x4378d2, + 0x438223, + 0x438e56, + 0x4396bc, + 0x439ac9, + 0x43a768, + 0x43ab1d, + 0x43b3f7, + 0x43bf82, + 0x43c4c0, + 0x43c8b5, + 0x43d05f, + 0x43dc2a, + 0x43e18b, + 0x43edfe, + 0x43f514, + 0x43f961, + 0x4407d7, + 0x440ba2, + 0x441348, + 0x441f3d, + 0x44229c, + 0x442ee9, + 0x443603, + 0x443a76, + 0x444134, + 0x444d41, + 0x4455ab, + 0x4459de, + 0x44647f, + 0x44680a, + 0x4470e0, + 0x447c95, + 0x448664, + 0x448a11, + 0x4492fb, + 0x449e8e, + 0x44a32f, + 0x44af5a, + 0x44b7b0, + 0x44bbc5, + 0x44c087, + 0x44ccf2, + 0x44d418, + 0x44d86d, + 0x44e5cc, + 0x44e9b9, + 0x44f153, + 0x44fd26, + 0x4504b1, + 0x4508c4, + 0x45102e, + 0x451c5b, + 0x4521fa, + 0x452d8f, + 0x453565, + 0x453910, + 0x454252, + 0x454e27, + 0x4556cd, + 0x455ab8, + 0x456719, + 0x456b6c, + 0x457386, + 0x457ff3, + 0x458502, + 0x458977, + 0x45919d, + 0x459de8, + 0x45a049, + 0x45ac3c, + 0x45b4d6, + 0x45b8a3, + 0x45c3e1, + 0x45cf94, + 0x45d77e, + 0x45db0b, + 0x45e6aa, + 0x45eadf, + 0x45f235, + 0x45fe40, + 0x46011b, + 0x460d6e, + 0x461584, + 0x4619f1, + 0x462450, + 0x462825, + 0x4630cf, + 0x463cba, + 0x4647f8, + 0x464b8d, + 0x465367, + 0x465f12, + 0x4662b3, + 0x466ec6, + 0x46762c, + 0x467a59, + 0x4680a8, + 0x468cdd, + 0x469437, + 0x469842, + 0x46a5e3, + 0x46a996, + 0x46b17c, + 0x46bd09, + 0x46c64b, + 0x46ca3e, + 0x46d2d4, + 0x46dea1, + 0x46e300, + 0x46ef75, + 0x46f79f, + 0x46fbea, + 0x47027d, + 0x470e08, + 0x4716e2, + 0x471a97, + 0x472736, + 0x472b43, + 0x4733a9, + 0x473fdc, + 0x47449e, + 0x4748eb, + 0x475001, + 0x475c74, + 0x4761d5, + 0x476da0, + 0x47754a, + 0x47793f, + 0x4783ce, + 0x478fbb, + 0x479751, + 0x479b24, + 0x47a685, + 0x47aaf0, + 0x47b21a, + 0x47be6f, + 0x47c52d, + 0x47c958, + 0x47d1b2, + 0x47ddc7, + 0x47e066, + 0x47ec13, + 0x47f4f9, + 0x47f88c, + 0x4805e0, + 0x480995, + 0x48117f, + 0x481d0a, + 0x4820ab, + 0x482cde, + 0x483434, + 0x483841, + 0x484303, + 0x484f76, + 0x48579c, + 0x485be9, + 0x486648, + 0x486a3d, + 0x4872d7, + 0x487ea2, + 0x488453, + 0x488826, + 0x4890cc, + 0x489cb9, + 0x48a118, + 0x48ad6d, + 0x48b587, + 0x48b9f2, + 0x48c2b0, + 0x48cec5, + 0x48d62f, + 0x48da5a, + 0x48e7fb, + 0x48eb8e, + 0x48f364, + 0x48ff11, + 0x490686, + 0x490af3, + 0x491219, + 0x491e6c, + 0x4923cd, + 0x492fb8, + 0x493752, + 0x493b27, + 0x494065, + 0x494c10, + 0x4954fa, + 0x49588f, + 0x49652e, + 0x49695b, + 0x4971b1, + 0x497dc4, + 0x498735, + 0x498b40, + 0x4993aa, + 0x499fdf, + 0x49a27e, + 0x49ae0b, + 0x49b6e1, + 0x49ba94, + 0x49c1d6, + 0x49cda3, + 0x49d549, + 0x49d93c, + 0x49e49d, + 0x49e8e8, + 0x49f002, + 0x49fc77, + 0x4a032c, + 0x4a0f59, + 0x4a17b3, + 0x4a1bc6, + 0x4a2667, + 0x4a2a12, + 0x4a32f8, + 0x4a3e8d, + 0x4a45cf, + 0x4a49ba, + 0x4a5150, + 0x4a5d25, + 0x4a6084, + 0x4a6cf1, + 0x4a741b, + 0x4a786e, + 0x4a829f, + 0x4a8eea, + 0x4a9600, + 0x4a9a75, + 0x4aa7d4, + 0x4aaba1, + 0x4ab34b, + 0x4abf3e, + 0x4ac47c, + 0x4ac809, + 0x4ad0e3, + 0x4adc96, + 0x4ae137, + 0x4aed42, + 0x4af5a8, + 0x4af9dd, + 0x4b004a, + 0x4b0c3f, + 0x4b14d5, + 0x4b18a0, + 0x4b2501, + 0x4b2974, + 0x4b319e, + 0x4b3deb, + 0x4b46a9, + 0x4b4adc, + 0x4b5236, + 0x4b5e43, + 0x4b63e2, + 0x4b6f97, + 0x4b777d, + 0x4b7b08, + 0x4b81f9, + 0x4b8d8c, + 0x4b9566, + 0x4b9913, + 0x4ba4b2, + 0x4ba8c7, + 0x4bb02d, + 0x4bbc58, + 0x4bc71a, + 0x4bcb6f, + 0x4bd385, + 0x4bdff0, + 0x4be251, + 0x4bee24, + 0x4bf6ce, + 0x4bfabb, + 0x4c040d, + 0x4c0878, + 0x4c1092, + 0x4c1ce7, + 0x4c2146, + 0x4c2d33, + 0x4c35d9, + 0x4c39ac, + 0x4c42ee, + 0x4c4e9b, + 0x4c5671, + 0x4c5a04, + 0x4c67a5, + 0x4c6bd0, + 0x4c733a, + 0x4c7f4f, + 0x4c85be, + 0x4c89cb, + 0x4c9121, + 0x4c9d54, + 0x4ca0f5, + 0x4cac80, + 0x4cb46a, + 0x4cb81f, + 0x4cc35d, + 0x4ccf28, + 0x4cd7c2, + 0x4cdbb7, + 0x4ce616, + 0x4cea63, + 0x4cf289, + 0x4cfefc, + 0x4d076b, + 0x4d0b1e, + 0x4d13f4, + 0x4d1f81, + 0x4d2220, + 0x4d2e55, + 0x4d36bf, + 0x4d3aca, + 0x4d4188, + 0x4d4dfd, + 0x4d5517, + 0x4d5962, + 0x4d64c3, + 0x4d68b6, + 0x4d705c, + 0x4d7c29, + 0x4d86d8, + 0x4d8aad, + 0x4d9247, + 0x4d9e32, + 0x4da393, + 0x4dafe6, + 0x4db70c, + 0x4dbb79, + 0x4dc03b, + 0x4dcc4e, + 0x4dd4a4, + 0x4dd8d1, + 0x4de570, + 0x4de905, + 0x4df1ef, + 0x4dfd9a, + 0x4e02c1, + 0x4e0eb4, + 0x4e165e, + 0x4e1a2b, + 0x4e278a, + 0x4e2bff, + 0x4e3315, + 0x4e3f60, + 0x4e4422, + 0x4e4857, + 0x4e50bd, + 0x4e5cc8, + 0x4e6169, + 0x4e6d1c, + 0x4e75f6, + 0x4e7983, + 0x4e8372, + 0x4e8f07, + 0x4e97ed, + 0x4e9b98, + 0x4ea639, + 0x4eaa4c, + 0x4eb2a6, + 0x4ebed3, + 0x4ec591, + 0x4ec9e4, + 0x4ed10e, + 0x4edd7b, + 0x4ee0da, + 0x4eecaf, + 0x4ef445, + 0x4ef830, + 0x4f01a7, + 0x4f0dd2, + 0x4f1538, + 0x4f194d, + 0x4f24ec, + 0x4f2899, + 0x4f3073, + 0x4f3c06, + 0x4f4744, + 0x4f4b31, + 0x4f53db, + 0x4f5fae, + 0x4f620f, + 0x4f6e7a, + 0x4f7690, + 0x4f7ae5, + 0x4f8014, + 0x4f8c61, + 0x4f948b, + 0x4f98fe, + 0x4fa55f, + 0x4fa92a, + 0x4fb1c0, + 0x4fbdb5, + 0x4fc6f7, + 0x4fca82, + 0x4fd268, + 0x4fde1d, + 0x4fe3bc, + 0x4fefc9, + 0x4ff723, + 0x4ffb56, + 0x50018e, + 0x500dfb, + 0x501511, + 0x501964, + 0x5024c5, + 0x5028b0, + 0x50305a, + 0x503c2f, + 0x50476d, + 0x504b18, + 0x5053f2, + 0x505f87, + 0x506226, + 0x506e53, + 0x5076b9, + 0x507acc, + 0x50803d, + 0x508c48, + 0x5094a2, + 0x5098d7, + 0x50a576, + 0x50a903, + 0x50b1e9, + 0x50bd9c, + 0x50c6de, + 0x50caab, + 0x50d241, + 0x50de34, + 0x50e395, + 0x50efe0, + 0x50f70a, + 0x50fb7f, + 0x5102e8, + 0x510e9d, + 0x511677, + 0x511a02, + 0x5127a3, + 0x512bd6, + 0x51333c, + 0x513f49, + 0x51440b, + 0x51487e, + 0x515094, + 0x515ce1, + 0x516140, + 0x516d35, + 0x5175df, + 0x5179aa, + 0x51835b, + 0x518f2e, + 0x5197c4, + 0x519bb1, + 0x51a610, + 0x51aa65, + 0x51b28f, + 0x51befa, + 0x51c5b8, + 0x51c9cd, + 0x51d127, + 0x51dd52, + 0x51e0f3, + 0x51ec86, + 0x51f46c, + 0x51f819, + 0x520742, + 0x520b37, + 0x5213dd, + 0x521fa8, + 0x522209, + 0x522e7c, + 0x523696, + 0x523ae3, + 0x5241a1, + 0x524dd4, + 0x52553e, + 0x52594b, + 0x5264ea, + 0x52689f, + 0x527075, + 0x527c00, + 0x5286f1, + 0x528a84, + 0x52926e, + 0x529e1b, + 0x52a3ba, + 0x52afcf, + 0x52b725, + 0x52bb50, + 0x52c012, + 0x52cc67, + 0x52d48d, + 0x52d8f8, + 0x52e559, + 0x52e92c, + 0x52f1c6, + 0x52fdb3, + 0x530424, + 0x530851, + 0x5310bb, + 0x531cce, + 0x53216f, + 0x532d1a, + 0x5335f0, + 0x533985, + 0x5342c7, + 0x534eb2, + 0x535658, + 0x535a2d, + 0x53678c, + 0x536bf9, + 0x537313, + 0x537f66, + 0x538597, + 0x5389e2, + 0x539108, + 0x539d7d, + 0x53a0dc, + 0x53aca9, + 0x53b443, + 0x53b836, + 0x53c374, + 0x53cf01, + 0x53d7eb, + 0x53db9e, + 0x53e63f, + 0x53ea4a, + 0x53f2a0, + 0x53fed5, + 0x540063, + 0x540c16, + 0x5414fc, + 0x541889, + 0x542528, + 0x54295d, + 0x5431b7, + 0x543dc2, + 0x544680, + 0x544af5, + 0x54521f, + 0x545e6a, + 0x5463cb, + 0x546fbe, + 0x547754, + 0x547b21, + 0x5481d0, + 0x548da5, + 0x54954f, + 0x54993a, + 0x54a49b, + 0x54a8ee, + 0x54b004, + 0x54bc71, + 0x54c733, + 0x54cb46, + 0x54d3ac, + 0x54dfd9, + 0x54e278, + 0x54ee0d, + 0x54f6e7, + 0x54fa92, + 0x550305, + 0x550f70, + 0x55179a, + 0x551bef, + 0x55264e, + 0x552a3b, + 0x5532d1, + 0x553ea4, + 0x5545e6, + 0x554993, + 0x555179, + 0x555d0c, + 0x5560ad, + 0x556cd8, + 0x557432, + 0x557847, + 0x5582b6, + 0x558ec3, + 0x559629, + 0x559a5c, + 0x55a7fd, + 0x55ab88, + 0x55b362, + 0x55bf17, + 0x55c455, + 0x55c820, + 0x55d0ca, + 0x55dcbf, + 0x55e11e, + 0x55ed6b, + 0x55f581, + 0x55f9f4, + 0x5606af, + 0x560ada, + 0x561230, + 0x561e45, + 0x5623e4, + 0x562f91, + 0x56377b, + 0x563b0e, + 0x56404c, + 0x564c39, + 0x5654d3, + 0x5658a6, + 0x566507, + 0x566972, + 0x567198, + 0x567ded, + 0x56871c, + 0x568b69, + 0x569383, + 0x569ff6, + 0x56a257, + 0x56ae22, + 0x56b6c8, + 0x56babd, + 0x56c1ff, + 0x56cd8a, + 0x56d560, + 0x56d915, + 0x56e4b4, + 0x56e8c1, + 0x56f02b, + 0x56fc5e, + 0x5705c9, + 0x5709bc, + 0x571156, + 0x571d23, + 0x572082, + 0x572cf7, + 0x57341d, + 0x573868, + 0x57432a, + 0x574f5f, + 0x5757b5, + 0x575bc0, + 0x576661, + 0x576a14, + 0x5772fe, + 0x577e8b, + 0x57847a, + 0x57880f, + 0x5790e5, + 0x579c90, + 0x57a131, + 0x57ad44, + 0x57b5ae, + 0x57b9db, + 0x57c299, + 0x57ceec, + 0x57d606, + 0x57da73, + 0x57e7d2, + 0x57eba7, + 0x57f34d, + 0x57ff38, + 0x580254, + 0x580e21, + 0x5816cb, + 0x581abe, + 0x58271f, + 0x582b6a, + 0x583380, + 0x583ff5, + 0x5844b7, + 0x5848c2, + 0x585028, + 0x585c5d, + 0x5861fc, + 0x586d89, + 0x587563, + 0x587916, + 0x5883e7, + 0x588f92, + 0x589778, + 0x589b0d, + 0x58a6ac, + 0x58aad9, + 0x58b233, + 0x58be46, + 0x58c504, + 0x58c971, + 0x58d19b, + 0x58ddee, + 0x58e04f, + 0x58ec3a, + 0x58f4d0, + 0x58f8a5, + 0x590132, + 0x590d47, + 0x5915ad, + 0x5919d8, + 0x592479, + 0x59280c, + 0x5930e6, + 0x593c93, + 0x5947d1, + 0x594ba4, + 0x59534e, + 0x595f3b, + 0x59629a, + 0x596eef, + 0x597605, + 0x597a70, + 0x598081, + 0x598cf4, + 0x59941e, + 0x59986b, + 0x59a5ca, + 0x59a9bf, + 0x59b155, + 0x59bd20, + 0x59c662, + 0x59ca17, + 0x59d2fd, + 0x59de88, + 0x59e329, + 0x59ef5c, + 0x59f7b6, + 0x59fbc3, + 0x5a0498, + 0x5a08ed, + 0x5a1007, + 0x5a1c72, + 0x5a21d3, + 0x5a2da6, + 0x5a354c, + 0x5a3939, + 0x5a427b, + 0x5a4e0e, + 0x5a56e4, + 0x5a5a91, + 0x5a6730, + 0x5a6b45, + 0x5a73af, + 0x5a7fda, + 0x5a852b, + 0x5a895e, + 0x5a91b4, + 0x5a9dc1, + 0x5aa060, + 0x5aac15, + 0x5ab4ff, + 0x5ab88a, + 0x5ac3c8, + 0x5acfbd, + 0x5ad757, + 0x5adb22, + 0x5ae683, + 0x5aeaf6, + 0x5af21c, + 0x5afe69, + 0x5b07fe, + 0x5b0b8b, + 0x5b1361, + 0x5b1f14, + 0x5b22b5, + 0x5b2ec0, + 0x5b362a, + 0x5b3a5f, + 0x5b411d, + 0x5b4d68, + 0x5b5582, + 0x5b59f7, + 0x5b6456, + 0x5b6823, + 0x5b70c9, + 0x5b7cbc, + 0x5b864d, + 0x5b8a38, + 0x5b92d2, + 0x5b9ea7, + 0x5ba306, + 0x5baf73, + 0x5bb799, + 0x5bbbec, + 0x5bc0ae, + 0x5bccdb, + 0x5bd431, + 0x5bd844, + 0x5be5e5, + 0x5be990, + 0x5bf17a, + 0x5bfd0f, + 0x5c03b9, + 0x5c0fcc, + 0x5c1726, + 0x5c1b53, + 0x5c26f2, + 0x5c2a87, + 0x5c326d, + 0x5c3e18, + 0x5c455a, + 0x5c492f, + 0x5c51c5, + 0x5c5db0, + 0x5c6011, + 0x5c6c64, + 0x5c748e, + 0x5c78fb, + 0x5c820a, + 0x5c8e7f, + 0x5c9695, + 0x5c9ae0, + 0x5ca741, + 0x5cab34, + 0x5cb3de, + 0x5cbfab, + 0x5cc4e9, + 0x5cc89c, + 0x5cd076, + 0x5cdc03, + 0x5ce1a2, + 0x5cedd7, + 0x5cf53d, + 0x5cf948, + 0x5d00df, + 0x5d0caa, + 0x5d1440, + 0x5d1835, + 0x5d2594, + 0x5d29e1, + 0x5d310b, + 0x5d3d7e, + 0x5d463c, + 0x5d4a49, + 0x5d52a3, + 0x5d5ed6, + 0x5d6377, + 0x5d6f02, + 0x5d77e8, + 0x5d7b9d, + 0x5d816c, + 0x5d8d19, + 0x5d95f3, + 0x5d9986, + 0x5da427, + 0x5da852, + 0x5db0b8, + 0x5dbccd, + 0x5dc78f, + 0x5dcbfa, + 0x5dd310, + 0x5ddf65, + 0x5de2c4, + 0x5deeb1, + 0x5df65b, + 0x5dfa2e, + 0x5e0575, + 0x5e0900, + 0x5e11ea, + 0x5e1d9f, + 0x5e203e, + 0x5e2c4b, + 0x5e34a1, + 0x5e38d4, + 0x5e4396, + 0x5e4fe3, + 0x5e5709, + 0x5e5b7c, + 0x5e66dd, + 0x5e6aa8, + 0x5e7242, + 0x5e7e37, + 0x5e84c6, + 0x5e88b3, + 0x5e9059, + 0x5e9c2c, + 0x5ea18d, + 0x5eadf8, + 0x5eb512, + 0x5eb967, + 0x5ec225, + 0x5ece50, + 0x5ed6ba, + 0x5edacf, + 0x5ee76e, + 0x5eeb1b, + 0x5ef3f1, + 0x5eff84, + 0x5f0613, + 0x5f0a66, + 0x5f128c, + 0x5f1ef9, + 0x5f2358, + 0x5f2f2d, + 0x5f37c7, + 0x5f3bb2, + 0x5f40f0, + 0x5f4c85, + 0x5f546f, + 0x5f581a, + 0x5f65bb, + 0x5f69ce, + 0x5f7124, + 0x5f7d51, + 0x5f87a0, + 0x5f8bd5, + 0x5f933f, + 0x5f9f4a, + 0x5fa2eb, + 0x5fae9e, + 0x5fb674, + 0x5fba01, + 0x5fc143, + 0x5fcd36, + 0x5fd5dc, + 0x5fd9a9, + 0x5fe408, + 0x5fe87d, + 0x5ff097, + 0x5ffce2, + 0x600527, + 0x600952, + 0x6011b8, + 0x601dcd, + 0x60206c, + 0x602c19, + 0x6034f3, + 0x603886, + 0x6043c4, + 0x604fb1, + 0x60575b, + 0x605b2e, + 0x60668f, + 0x606afa, + 0x607210, + 0x607e65, + 0x608494, + 0x6088e1, + 0x60900b, + 0x609c7e, + 0x60a1df, + 0x60adaa, + 0x60b540, + 0x60b935, + 0x60c277, + 0x60ce02, + 0x60d6e8, + 0x60da9d, + 0x60e73c, + 0x60eb49, + 0x60f3a3, + 0x60ffd6, + 0x610641, + 0x610a34, + 0x6112de, + 0x611eab, + 0x61230a, + 0x612f7f, + 0x613795, + 0x613be0, + 0x6140a2, + 0x614cd7, + 0x61543d, + 0x615848, + 0x6165e9, + 0x61699c, + 0x617176, + 0x617d03, + 0x6187f2, + 0x618b87, + 0x61936d, + 0x619f18, + 0x61a2b9, + 0x61aecc, + 0x61b626, + 0x61ba53, + 0x61c111, + 0x61cd64, + 0x61d58e, + 0x61d9fb, + 0x61e45a, + 0x61e82f, + 0x61f0c5, + 0x61fcb0, + 0x6203eb, + 0x620f9e, + 0x621774, + 0x621b01, + 0x6226a0, + 0x622ad5, + 0x62323f, + 0x623e4a, + 0x624508, + 0x62497d, + 0x625197, + 0x625de2, + 0x626043, + 0x626c36, + 0x6274dc, + 0x6278a9, + 0x628258, + 0x628e2d, + 0x6296c7, + 0x629ab2, + 0x62a713, + 0x62ab66, + 0x62b38c, + 0x62bff9, + 0x62c4bb, + 0x62c8ce, + 0x62d024, + 0x62dc51, + 0x62e1f0, + 0x62ed85, + 0x62f56f, + 0x62f91a, + 0x63008d, + 0x630cf8, + 0x631412, + 0x631867, + 0x6325c6, + 0x6329b3, + 0x633159, + 0x633d2c, + 0x63466e, + 0x634a1b, + 0x6352f1, + 0x635e84, + 0x636325, + 0x636f50, + 0x6377ba, + 0x637bcf, + 0x63813e, + 0x638d4b, + 0x6395a1, + 0x6399d4, + 0x63a475, + 0x63a800, + 0x63b0ea, + 0x63bc9f, + 0x63c7dd, + 0x63cba8, + 0x63d342, + 0x63df37, + 0x63e296, + 0x63eee3, + 0x63f609, + 0x63fa7c, + 0x6404ca, + 0x6408bf, + 0x641055, + 0x641c20, + 0x642181, + 0x642df4, + 0x64351e, + 0x64396b, + 0x644229, + 0x644e5c, + 0x6456b6, + 0x645ac3, + 0x646762, + 0x646b17, + 0x6473fd, + 0x647f88, + 0x648579, + 0x64890c, + 0x6491e6, + 0x649d93, + 0x64a032, + 0x64ac47, + 0x64b4ad, + 0x64b8d8, + 0x64c39a, + 0x64cfef, + 0x64d705, + 0x64db70, + 0x64e6d1, + 0x64eaa4, + 0x64f24e, + 0x64fe3b, + 0x6507ac, + 0x650bd9, + 0x651333, + 0x651f46, + 0x6522e7, + 0x652e92, + 0x653678, + 0x653a0d, + 0x65414f, + 0x654d3a, + 0x6555d0, + 0x6559a5, + 0x656404, + 0x656871, + 0x65709b, + 0x657cee, + 0x65861f, + 0x658a6a, + 0x659280, + 0x659ef5, + 0x65a354, + 0x65af21, + 0x65b7cb, + 0x65bbbe, + 0x65c0fc, + 0x65cc89, + 0x65d463, + 0x65d816, + 0x65e5b7, + 0x65e9c2, + 0x65f128, + 0x65fd5d, + 0x660206, + 0x660e73, + 0x661699, + 0x661aec, + 0x66274d, + 0x662b38, + 0x6633d2, + 0x663fa7, + 0x6644e5, + 0x664890, + 0x66507a, + 0x665c0f, + 0x6661ae, + 0x666ddb, + 0x667531, + 0x667944, + 0x6683b5, + 0x668fc0, + 0x66972a, + 0x669b5f, + 0x66a6fe, + 0x66aa8b, + 0x66b261, + 0x66be14, + 0x66c556, + 0x66c923, + 0x66d1c9, + 0x66ddbc, + 0x66e01d, + 0x66ec68, + 0x66f482, + 0x66f8f7, + 0x670160, + 0x670d15, + 0x6715ff, + 0x67198a, + 0x67242b, + 0x67285e, + 0x6730b4, + 0x673cc1, + 0x674783, + 0x674bf6, + 0x67531c, + 0x675f69, + 0x6762c8, + 0x676ebd, + 0x677657, + 0x677a22, + 0x6780d3, + 0x678ca6, + 0x67944c, + 0x679839, + 0x67a598, + 0x67a9ed, + 0x67b107, + 0x67bd72, + 0x67c630, + 0x67ca45, + 0x67d2af, + 0x67deda, + 0x67e37b, + 0x67ef0e, + 0x67f7e4, + 0x67fb91, + 0x6806fd, + 0x680a88, + 0x681262, + 0x681e17, + 0x6823b6, + 0x682fc3, + 0x683729, + 0x683b5c, + 0x68401e, + 0x684c6b, + 0x685481, + 0x6858f4, + 0x686555, + 0x686920, + 0x6871ca, + 0x687dbf, + 0x68874e, + 0x688b3b, + 0x6893d1, + 0x689fa4, + 0x68a205, + 0x68ae70, + 0x68b69a, + 0x68baef, + 0x68c1ad, + 0x68cdd8, + 0x68d532, + 0x68d947, + 0x68e4e6, + 0x68e893, + 0x68f079, + 0x68fc0c, + 0x69059b, + 0x6909ee, + 0x691104, + 0x691d71, + 0x6920d0, + 0x692ca5, + 0x69344f, + 0x69383a, + 0x694378, + 0x694f0d, + 0x6957e7, + 0x695b92, + 0x696633, + 0x696a46, + 0x6972ac, + 0x697ed9, + 0x698428, + 0x69885d, + 0x6990b7, + 0x699cc2, + 0x69a163, + 0x69ad16, + 0x69b5fc, + 0x69b989, + 0x69c2cb, + 0x69cebe, + 0x69d654, + 0x69da21, + 0x69e780, + 0x69ebf5, + 0x69f31f, + 0x69ff6a, + 0x6a0031, + 0x6a0c44, + 0x6a14ae, + 0x6a18db, + 0x6a257a, + 0x6a290f, + 0x6a31e5, + 0x6a3d90, + 0x6a46d2, + 0x6a4aa7, + 0x6a524d, + 0x6a5e38, + 0x6a6399, + 0x6a6fec, + 0x6a7706, + 0x6a7b73, + 0x6a8182, + 0x6a8df7, + 0x6a951d, + 0x6a9968, + 0x6aa4c9, + 0x6aa8bc, + 0x6ab056, + 0x6abc23, + 0x6ac761, + 0x6acb14, + 0x6ad3fe, + 0x6adf8b, + 0x6ae22a, + 0x6aee5f, + 0x6af6b5, + 0x6afac0, + 0x6b0357, + 0x6b0f22, + 0x6b17c8, + 0x6b1bbd, + 0x6b261c, + 0x6b2a69, + 0x6b3283, + 0x6b3ef6, + 0x6b45b4, + 0x6b49c1, + 0x6b512b, + 0x6b5d5e, + 0x6b60ff, + 0x6b6c8a, + 0x6b7460, + 0x6b7815, + 0x6b82e4, + 0x6b8e91, + 0x6b967b, + 0x6b9a0e, + 0x6ba7af, + 0x6babda, + 0x6bb330, + 0x6bbf45, + 0x6bc407, + 0x6bc872, + 0x6bd098, + 0x6bdced, + 0x6be14c, + 0x6bed39, + 0x6bf5d3, + 0x6bf9a6, + 0x6c0710, + 0x6c0b65, + 0x6c138f, + 0x6c1ffa, + 0x6c225b, + 0x6c2e2e, + 0x6c36c4, + 0x6c3ab1, + 0x6c41f3, + 0x6c4d86, + 0x6c556c, + 0x6c5919, + 0x6c64b8, + 0x6c68cd, + 0x6c7027, + 0x6c7c52, + 0x6c86a3, + 0x6c8ad6, + 0x6c923c, + 0x6c9e49, + 0x6ca3e8, + 0x6caf9d, + 0x6cb777, + 0x6cbb02, + 0x6cc040, + 0x6ccc35, + 0x6cd4df, + 0x6cd8aa, + 0x6ce50b, + 0x6ce97e, + 0x6cf194, + 0x6cfde1, + 0x6d0476, + 0x6d0803, + 0x6d10e9, + 0x6d1c9c, + 0x6d213d, + 0x6d2d48, + 0x6d35a2, + 0x6d39d7, + 0x6d4295, + 0x6d4ee0, + 0x6d560a, + 0x6d5a7f, + 0x6d67de, + 0x6d6bab, + 0x6d7341, + 0x6d7f34, + 0x6d85c5, + 0x6d89b0, + 0x6d915a, + 0x6d9d2f, + 0x6da08e, + 0x6dacfb, + 0x6db411, + 0x6db864, + 0x6dc326, + 0x6dcf53, + 0x6dd7b9, + 0x6ddbcc, + 0x6de66d, + 0x6dea18, + 0x6df2f2, + 0x6dfe87, + 0x6e01dc, + 0x6e0da9, + 0x6e1543, + 0x6e1936, + 0x6e2497, + 0x6e28e2, + 0x6e3008, + 0x6e3c7d, + 0x6e473f, + 0x6e4b4a, + 0x6e53a0, + 0x6e5fd5, + 0x6e6274, + 0x6e6e01, + 0x6e76eb, + 0x6e7a9e, + 0x6e806f, + 0x6e8c1a, + 0x6e94f0, + 0x6e9885, + 0x6ea524, + 0x6ea951, + 0x6eb1bb, + 0x6ebdce, + 0x6ec68c, + 0x6ecaf9, + 0x6ed213, + 0x6ede66, + 0x6ee3c7, + 0x6eefb2, + 0x6ef758, + 0x6efb2d, + 0x6f02ba, + 0x6f0ecf, + 0x6f1625, + 0x6f1a50, + 0x6f27f1, + 0x6f2b84, + 0x6f336e, + 0x6f3f1b, + 0x6f4459, + 0x6f482c, + 0x6f50c6, + 0x6f5cb3, + 0x6f6112, + 0x6f6d67, + 0x6f758d, + 0x6f79f8, + 0x6f8309, + 0x6f8f7c, + 0x6f9796, + 0x6f9be3, + 0x6fa642, + 0x6faa37, + 0x6fb2dd, + 0x6fbea8, + 0x6fc5ea, + 0x6fc99f, + 0x6fd175, + 0x6fdd00, + 0x6fe0a1, + 0x6fecd4, + 0x6ff43e, + 0x6ff84b, + 0x700293, + 0x700ee6, + 0x70160c, + 0x701a79, + 0x7027d8, + 0x702bad, + 0x703347, + 0x703f32, + 0x704470, + 0x704805, + 0x7050ef, + 0x705c9a, + 0x70613b, + 0x706d4e, + 0x7075a4, + 0x7079d1, + 0x708320, + 0x708f55, + 0x7097bf, + 0x709bca, + 0x70a66b, + 0x70aa1e, + 0x70b2f4, + 0x70be81, + 0x70c5c3, + 0x70c9b6, + 0x70d15c, + 0x70dd29, + 0x70e088, + 0x70ecfd, + 0x70f417, + 0x70f862, + 0x7101f5, + 0x710d80, + 0x71156a, + 0x71191f, + 0x7124be, + 0x7128cb, + 0x713021, + 0x713c54, + 0x714716, + 0x714b63, + 0x715389, + 0x715ffc, + 0x71625d, + 0x716e28, + 0x7176c2, + 0x717ab7, + 0x718046, + 0x718c33, + 0x7194d9, + 0x7198ac, + 0x71a50d, + 0x71a978, + 0x71b192, + 0x71bde7, + 0x71c6a5, + 0x71cad0, + 0x71d23a, + 0x71de4f, + 0x71e3ee, + 0x71ef9b, + 0x71f771, + 0x71fb04, + 0x72045f, + 0x72082a, + 0x7210c0, + 0x721cb5, + 0x722114, + 0x722d61, + 0x72358b, + 0x7239fe, + 0x7242bc, + 0x724ec9, + 0x725623, + 0x725a56, + 0x7267f7, + 0x726b82, + 0x727368, + 0x727f1d, + 0x7285ec, + 0x728999, + 0x729173, + 0x729d06, + 0x72a0a7, + 0x72acd2, + 0x72b438, + 0x72b84d, + 0x72c30f, + 0x72cf7a, + 0x72d790, + 0x72dbe5, + 0x72e644, + 0x72ea31, + 0x72f2db, + 0x72feae, + 0x730739, + 0x730b4c, + 0x7313a6, + 0x731fd3, + 0x732272, + 0x732e07, + 0x7336ed, + 0x733a98, + 0x7341da, + 0x734daf, + 0x735545, + 0x735930, + 0x736491, + 0x7368e4, + 0x73700e, + 0x737c7b, + 0x73868a, + 0x738aff, + 0x739215, + 0x739e60, + 0x73a3c1, + 0x73afb4, + 0x73b75e, + 0x73bb2b, + 0x73c069, + 0x73cc1c, + 0x73d4f6, + 0x73d883, + 0x73e522, + 0x73e957, + 0x73f1bd, + 0x73fdc8, + 0x74037e, + 0x740f0b, + 0x7417e1, + 0x741b94, + 0x742635, + 0x742a40, + 0x7432aa, + 0x743edf, + 0x74459d, + 0x7449e8, + 0x745102, + 0x745d77, + 0x7460d6, + 0x746ca3, + 0x747449, + 0x74783c, + 0x7482cd, + 0x748eb8, + 0x749652, + 0x749a27, + 0x74a786, + 0x74abf3, + 0x74b319, + 0x74bf6c, + 0x74c42e, + 0x74c85b, + 0x74d0b1, + 0x74dcc4, + 0x74e165, + 0x74ed10, + 0x74f5fa, + 0x74f98f, + 0x750018, + 0x750c6d, + 0x751487, + 0x7518f2, + 0x752553, + 0x752926, + 0x7531cc, + 0x753db9, + 0x7546fb, + 0x754a8e, + 0x755264, + 0x755e11, + 0x7563b0, + 0x756fc5, + 0x75772f, + 0x757b5a, + 0x7581ab, + 0x758dde, + 0x759534, + 0x759941, + 0x75a4e0, + 0x75a895, + 0x75b07f, + 0x75bc0a, + 0x75c748, + 0x75cb3d, + 0x75d3d7, + 0x75dfa2, + 0x75e203, + 0x75ee76, + 0x75f69c, + 0x75fae9, + 0x7605b2, + 0x7609c7, + 0x76112d, + 0x761d58, + 0x7620f9, + 0x762c8c, + 0x763466, + 0x763813, + 0x764351, + 0x764f24, + 0x7657ce, + 0x765bbb, + 0x76661a, + 0x766a6f, + 0x767285, + 0x767ef0, + 0x768401, + 0x768874, + 0x76909e, + 0x769ceb, + 0x76a14a, + 0x76ad3f, + 0x76b5d5, + 0x76b9a0, + 0x76c2e2, + 0x76ce97, + 0x76d67d, + 0x76da08, + 0x76e7a9, + 0x76ebdc, + 0x76f336, + 0x76ff43, + 0x7706d4, + 0x770aa1, + 0x77124b, + 0x771e3e, + 0x77239f, + 0x772fea, + 0x773700, + 0x773b75, + 0x774037, + 0x774c42, + 0x7754a8, + 0x7758dd, + 0x77657c, + 0x776909, + 0x7771e3, + 0x777d96, + 0x778767, + 0x778b12, + 0x7793f8, + 0x779f8d, + 0x77a22c, + 0x77ae59, + 0x77b6b3, + 0x77bac6, + 0x77c184, + 0x77cdf1, + 0x77d51b, + 0x77d96e, + 0x77e4cf, + 0x77e8ba, + 0x77f050, + 0x77fc25, + 0x780149, + 0x780d3c, + 0x7815d6, + 0x7819a3, + 0x782402, + 0x782877, + 0x78309d, + 0x783ce8, + 0x7847aa, + 0x784bdf, + 0x785335, + 0x785f40, + 0x7862e1, + 0x786e94, + 0x78767e, + 0x787a0b, + 0x7880fa, + 0x788c8f, + 0x789465, + 0x789810, + 0x78a5b1, + 0x78a9c4, + 0x78b12e, + 0x78bd5b, + 0x78c619, + 0x78ca6c, + 0x78d286, + 0x78def3, + 0x78e352, + 0x78ef27, + 0x78f7cd, + 0x78fbb8, + 0x79022f, + 0x790e5a, + 0x7916b0, + 0x791ac5, + 0x792764, + 0x792b11, + 0x7933fb, + 0x793f8e, + 0x7944cc, + 0x7948b9, + 0x795053, + 0x795c26, + 0x796187, + 0x796df2, + 0x797518, + 0x79796d, + 0x79839c, + 0x798fe9, + 0x799703, + 0x799b76, + 0x79a6d7, + 0x79aaa2, + 0x79b248, + 0x79be3d, + 0x79c57f, + 0x79c90a, + 0x79d1e0, + 0x79dd95, + 0x79e034, + 0x79ec41, + 0x79f4ab, + 0x79f8de, + 0x7a0785, + 0x7a0bf0, + 0x7a131a, + 0x7a1f6f, + 0x7a22ce, + 0x7a2ebb, + 0x7a3651, + 0x7a3a24, + 0x7a4166, + 0x7a4d13, + 0x7a55f9, + 0x7a598c, + 0x7a642d, + 0x7a6858, + 0x7a70b2, + 0x7a7cc7, + 0x7a8636, + 0x7a8a43, + 0x7a92a9, + 0x7a9edc, + 0x7aa37d, + 0x7aaf08, + 0x7ab7e2, + 0x7abb97, + 0x7ac0d5, + 0x7acca0, + 0x7ad44a, + 0x7ad83f, + 0x7ae59e, + 0x7ae9eb, + 0x7af101, + 0x7afd74, + 0x7b04e3, + 0x7b0896, + 0x7b107c, + 0x7b1c09, + 0x7b21a8, + 0x7b2ddd, + 0x7b3537, + 0x7b3942, + 0x7b4200, + 0x7b4e75, + 0x7b569f, + 0x7b5aea, + 0x7b674b, + 0x7b6b3e, + 0x7b73d4, + 0x7b7fa1, + 0x7b8550, + 0x7b8925, + 0x7b91cf, + 0x7b9dba, + 0x7ba01b, + 0x7bac6e, + 0x7bb484, + 0x7bb8f1, + 0x7bc3b3, + 0x7bcfc6, + 0x7bd72c, + 0x7bdb59, + 0x7be6f8, + 0x7bea8d, + 0x7bf267, + 0x7bfe12, + 0x7c00a4, + 0x7c0cd1, + 0x7c143b, + 0x7c184e, + 0x7c25ef, + 0x7c299a, + 0x7c3170, + 0x7c3d05, + 0x7c4647, + 0x7c4a32, + 0x7c52d8, + 0x7c5ead, + 0x7c630c, + 0x7c6f79, + 0x7c7793, + 0x7c7be6, + 0x7c8117, + 0x7c8d62, + 0x7c9588, + 0x7c99fd, + 0x7ca45c, + 0x7ca829, + 0x7cb0c3, + 0x7cbcb6, + 0x7cc7f4, + 0x7ccb81, + 0x7cd36b, + 0x7cdf1e, + 0x7ce2bf, + 0x7ceeca, + 0x7cf620, + 0x7cfa55, + 0x7d03c2, + 0x7d0fb7, + 0x7d175d, + 0x7d1b28, + 0x7d2689, + 0x7d2afc, + 0x7d3216, + 0x7d3e63, + 0x7d4521, + 0x7d4954, + 0x7d51be, + 0x7d5dcb, + 0x7d606a, + 0x7d6c1f, + 0x7d74f5, + 0x7d7880, + 0x7d8271, + 0x7d8e04, + 0x7d96ee, + 0x7d9a9b, + 0x7da73a, + 0x7dab4f, + 0x7db3a5, + 0x7dbfd0, + 0x7dc492, + 0x7dc8e7, + 0x7dd00d, + 0x7ddc78, + 0x7de1d9, + 0x7dedac, + 0x7df546, + 0x7df933, + 0x7e0668, + 0x7e0a1d, + 0x7e12f7, + 0x7e1e82, + 0x7e2323, + 0x7e2f56, + 0x7e37bc, + 0x7e3bc9, + 0x7e408b, + 0x7e4cfe, + 0x7e5414, + 0x7e5861, + 0x7e65c0, + 0x7e69b5, + 0x7e715f, + 0x7e7d2a, + 0x7e87db, + 0x7e8bae, + 0x7e9344, + 0x7e9f31, + 0x7ea290, + 0x7eaee5, + 0x7eb60f, + 0x7eba7a, + 0x7ec138, + 0x7ecd4d, + 0x7ed5a7, + 0x7ed9d2, + 0x7ee473, + 0x7ee806, + 0x7ef0ec, + 0x7efc99, + 0x7f050e, + 0x7f097b, + 0x7f1191, + 0x7f1de4, + 0x7f2045, + 0x7f2c30, + 0x7f34da, + 0x7f38af, + 0x7f43ed, + 0x7f4f98, + 0x7f5772, + 0x7f5b07, + 0x7f66a6, + 0x7f6ad3, + 0x7f7239, + 0x7f7e4c, + 0x7f84bd, + 0x7f88c8, + 0x7f9022, + 0x7f9c57, + 0x7fa1f6, + 0x7fad83, + 0x7fb569, + 0x7fb91c, + 0x7fc25e, + 0x7fce2b, + 0x7fd6c1, + 0x7fdab4, + 0x7fe715, + 0x7feb60, + 0x7ff38a, + 0x7fffff +}; diff --git a/DSP_API/CODEC2_FREEDV/hanning.h b/DSP_API/CODEC2_FREEDV/hanning.h new file mode 100644 index 0000000..81d88dc --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/hanning.h @@ -0,0 +1,644 @@ +/* Generated by hanning_file() Octave function */ + +const float hanning[]={ + 0, + 2.4171e-05, + 9.66816e-05, + 0.000217525, + 0.000386689, + 0.000604158, + 0.00086991, + 0.00118392, + 0.00154616, + 0.00195659, + 0.00241517, + 0.00292186, + 0.00347661, + 0.00407937, + 0.00473008, + 0.00542867, + 0.00617507, + 0.00696922, + 0.00781104, + 0.00870045, + 0.00963736, + 0.0106217, + 0.0116533, + 0.0127322, + 0.0138581, + 0.0150311, + 0.0162509, + 0.0175175, + 0.0188308, + 0.0201906, + 0.0215968, + 0.0230492, + 0.0245478, + 0.0260923, + 0.0276826, + 0.0293186, + 0.0310001, + 0.032727, + 0.034499, + 0.036316, + 0.0381779, + 0.0400844, + 0.0420354, + 0.0440307, + 0.04607, + 0.0481533, + 0.0502802, + 0.0524506, + 0.0546643, + 0.056921, + 0.0592206, + 0.0615627, + 0.0639473, + 0.0663741, + 0.0688427, + 0.0713531, + 0.0739048, + 0.0764978, + 0.0791318, + 0.0818064, + 0.0845214, + 0.0872767, + 0.0900718, + 0.0929066, + 0.0957807, + 0.0986939, + 0.101646, + 0.104636, + 0.107665, + 0.110732, + 0.113836, + 0.116978, + 0.120156, + 0.123372, + 0.126624, + 0.129912, + 0.133235, + 0.136594, + 0.139989, + 0.143418, + 0.146881, + 0.150379, + 0.153911, + 0.157476, + 0.161074, + 0.164705, + 0.168368, + 0.172063, + 0.17579, + 0.179549, + 0.183338, + 0.187158, + 0.191008, + 0.194888, + 0.198798, + 0.202737, + 0.206704, + 0.2107, + 0.214724, + 0.218775, + 0.222854, + 0.226959, + 0.231091, + 0.235249, + 0.239432, + 0.243641, + 0.247874, + 0.252132, + 0.256414, + 0.260719, + 0.265047, + 0.269398, + 0.273772, + 0.278167, + 0.282584, + 0.287021, + 0.29148, + 0.295958, + 0.300456, + 0.304974, + 0.30951, + 0.314065, + 0.318638, + 0.323228, + 0.327835, + 0.332459, + 0.3371, + 0.341756, + 0.346427, + 0.351113, + 0.355814, + 0.360528, + 0.365256, + 0.369997, + 0.374751, + 0.379516, + 0.384293, + 0.389082, + 0.393881, + 0.398691, + 0.40351, + 0.408338, + 0.413176, + 0.418022, + 0.422876, + 0.427737, + 0.432605, + 0.43748, + 0.44236, + 0.447247, + 0.452138, + 0.457034, + 0.461935, + 0.466839, + 0.471746, + 0.476655, + 0.481568, + 0.486481, + 0.491397, + 0.496313, + 0.501229, + 0.506145, + 0.511061, + 0.515976, + 0.520889, + 0.5258, + 0.530708, + 0.535614, + 0.540516, + 0.545414, + 0.550308, + 0.555197, + 0.560081, + 0.564958, + 0.56983, + 0.574695, + 0.579552, + 0.584402, + 0.589244, + 0.594077, + 0.598901, + 0.603715, + 0.60852, + 0.613314, + 0.618097, + 0.622868, + 0.627628, + 0.632375, + 0.63711, + 0.641831, + 0.646538, + 0.651232, + 0.655911, + 0.660574, + 0.665222, + 0.669855, + 0.67447, + 0.679069, + 0.683651, + 0.688215, + 0.69276, + 0.697287, + 0.701795, + 0.706284, + 0.710752, + 0.7152, + 0.719627, + 0.724033, + 0.728418, + 0.73278, + 0.73712, + 0.741437, + 0.74573, + 0.75, + 0.754246, + 0.758467, + 0.762663, + 0.766833, + 0.770978, + 0.775097, + 0.779189, + 0.783254, + 0.787291, + 0.791301, + 0.795283, + 0.799236, + 0.80316, + 0.807055, + 0.810921, + 0.814756, + 0.81856, + 0.822334, + 0.826077, + 0.829788, + 0.833468, + 0.837115, + 0.840729, + 0.844311, + 0.847859, + 0.851374, + 0.854855, + 0.858301, + 0.861713, + 0.86509, + 0.868431, + 0.871737, + 0.875007, + 0.87824, + 0.881437, + 0.884598, + 0.887721, + 0.890806, + 0.893854, + 0.896864, + 0.899835, + 0.902768, + 0.905661, + 0.908516, + 0.911331, + 0.914106, + 0.916841, + 0.919536, + 0.92219, + 0.924804, + 0.927376, + 0.929907, + 0.932397, + 0.934845, + 0.93725, + 0.939614, + 0.941935, + 0.944213, + 0.946448, + 0.94864, + 0.950789, + 0.952894, + 0.954955, + 0.956972, + 0.958946, + 0.960874, + 0.962759, + 0.964598, + 0.966393, + 0.968142, + 0.969846, + 0.971505, + 0.973118, + 0.974686, + 0.976207, + 0.977683, + 0.979112, + 0.980495, + 0.981832, + 0.983122, + 0.984365, + 0.985561, + 0.986711, + 0.987813, + 0.988868, + 0.989876, + 0.990837, + 0.99175, + 0.992616, + 0.993434, + 0.994204, + 0.994927, + 0.995601, + 0.996228, + 0.996807, + 0.997337, + 0.99782, + 0.998255, + 0.998641, + 0.998979, + 0.999269, + 0.999511, + 0.999704, + 0.999849, + 0.999946, + 0.999994, + 0.999994, + 0.999946, + 0.999849, + 0.999704, + 0.999511, + 0.999269, + 0.998979, + 0.998641, + 0.998255, + 0.99782, + 0.997337, + 0.996807, + 0.996228, + 0.995601, + 0.994927, + 0.994204, + 0.993434, + 0.992616, + 0.99175, + 0.990837, + 0.989876, + 0.988868, + 0.987813, + 0.986711, + 0.985561, + 0.984365, + 0.983122, + 0.981832, + 0.980495, + 0.979112, + 0.977683, + 0.976207, + 0.974686, + 0.973118, + 0.971505, + 0.969846, + 0.968142, + 0.966393, + 0.964598, + 0.962759, + 0.960874, + 0.958946, + 0.956972, + 0.954955, + 0.952894, + 0.950789, + 0.94864, + 0.946448, + 0.944213, + 0.941935, + 0.939614, + 0.93725, + 0.934845, + 0.932397, + 0.929907, + 0.927376, + 0.924804, + 0.92219, + 0.919536, + 0.916841, + 0.914106, + 0.911331, + 0.908516, + 0.905661, + 0.902768, + 0.899835, + 0.896864, + 0.893854, + 0.890806, + 0.887721, + 0.884598, + 0.881437, + 0.87824, + 0.875007, + 0.871737, + 0.868431, + 0.86509, + 0.861713, + 0.858301, + 0.854855, + 0.851374, + 0.847859, + 0.844311, + 0.840729, + 0.837115, + 0.833468, + 0.829788, + 0.826077, + 0.822334, + 0.81856, + 0.814756, + 0.810921, + 0.807055, + 0.80316, + 0.799236, + 0.795283, + 0.791301, + 0.787291, + 0.783254, + 0.779189, + 0.775097, + 0.770978, + 0.766833, + 0.762663, + 0.758467, + 0.754246, + 0.75, + 0.74573, + 0.741437, + 0.73712, + 0.73278, + 0.728418, + 0.724033, + 0.719627, + 0.7152, + 0.710752, + 0.706284, + 0.701795, + 0.697287, + 0.69276, + 0.688215, + 0.683651, + 0.679069, + 0.67447, + 0.669855, + 0.665222, + 0.660574, + 0.655911, + 0.651232, + 0.646538, + 0.641831, + 0.63711, + 0.632375, + 0.627628, + 0.622868, + 0.618097, + 0.613314, + 0.60852, + 0.603715, + 0.598901, + 0.594077, + 0.589244, + 0.584402, + 0.579552, + 0.574695, + 0.56983, + 0.564958, + 0.560081, + 0.555197, + 0.550308, + 0.545414, + 0.540516, + 0.535614, + 0.530708, + 0.5258, + 0.520889, + 0.515976, + 0.511061, + 0.506145, + 0.501229, + 0.496313, + 0.491397, + 0.486481, + 0.481568, + 0.476655, + 0.471746, + 0.466839, + 0.461935, + 0.457034, + 0.452138, + 0.447247, + 0.44236, + 0.43748, + 0.432605, + 0.427737, + 0.422876, + 0.418022, + 0.413176, + 0.408338, + 0.40351, + 0.398691, + 0.393881, + 0.389082, + 0.384293, + 0.379516, + 0.374751, + 0.369997, + 0.365256, + 0.360528, + 0.355814, + 0.351113, + 0.346427, + 0.341756, + 0.3371, + 0.332459, + 0.327835, + 0.323228, + 0.318638, + 0.314065, + 0.30951, + 0.304974, + 0.300456, + 0.295958, + 0.29148, + 0.287021, + 0.282584, + 0.278167, + 0.273772, + 0.269398, + 0.265047, + 0.260719, + 0.256414, + 0.252132, + 0.247874, + 0.243641, + 0.239432, + 0.235249, + 0.231091, + 0.226959, + 0.222854, + 0.218775, + 0.214724, + 0.2107, + 0.206704, + 0.202737, + 0.198798, + 0.194888, + 0.191008, + 0.187158, + 0.183338, + 0.179549, + 0.17579, + 0.172063, + 0.168368, + 0.164705, + 0.161074, + 0.157476, + 0.153911, + 0.150379, + 0.146881, + 0.143418, + 0.139989, + 0.136594, + 0.133235, + 0.129912, + 0.126624, + 0.123372, + 0.120156, + 0.116978, + 0.113836, + 0.110732, + 0.107665, + 0.104636, + 0.101646, + 0.0986939, + 0.0957807, + 0.0929066, + 0.0900718, + 0.0872767, + 0.0845214, + 0.0818064, + 0.0791318, + 0.0764978, + 0.0739048, + 0.0713531, + 0.0688427, + 0.0663741, + 0.0639473, + 0.0615627, + 0.0592206, + 0.056921, + 0.0546643, + 0.0524506, + 0.0502802, + 0.0481533, + 0.04607, + 0.0440307, + 0.0420354, + 0.0400844, + 0.0381779, + 0.036316, + 0.034499, + 0.032727, + 0.0310001, + 0.0293186, + 0.0276826, + 0.0260923, + 0.0245478, + 0.0230492, + 0.0215968, + 0.0201906, + 0.0188308, + 0.0175175, + 0.0162509, + 0.0150311, + 0.0138581, + 0.0127322, + 0.0116533, + 0.0106217, + 0.00963736, + 0.00870045, + 0.00781104, + 0.00696922, + 0.00617507, + 0.00542867, + 0.00473008, + 0.00407937, + 0.00347661, + 0.00292186, + 0.00241517, + 0.00195659, + 0.00154616, + 0.00118392, + 0.00086991, + 0.000604158, + 0.000386689, + 0.000217525, + 9.66816e-05, + 2.4171e-05, + 0 +}; diff --git a/DSP_API/CODEC2_FREEDV/interp.c b/DSP_API/CODEC2_FREEDV/interp.c new file mode 100644 index 0000000..d2f1e7b --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/interp.c @@ -0,0 +1,325 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: interp.c + AUTHOR......: David Rowe + DATE CREATED: 9/10/09 + + Interpolation of 20ms frames to 10ms frames. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include + +#include "defines.h" +#include "interp.h" +#include "lsp.h" +#include "quantise.h" + +float sample_log_amp(MODEL *model, float w); + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp() + AUTHOR......: David Rowe + DATE CREATED: 22/8/10 + + Given two frames decribed by model parameters 20ms apart, determines + the model parameters of the 10ms frame between them. Assumes + voicing is available for middle (interpolated) frame. Outputs are + amplitudes and Wo for the interpolated frame. + + This version can interpolate the amplitudes between two frames of + different Wo and L. + + This version works by log linear interpolation, but listening tests + showed it creates problems in background noise, e.g. hts2a and mmt1. + When this function is used (--dec mode) bg noise appears to be + amplitude modulated, and gets louder. The interp_lsp() function + below seems to do a better job. + +\*---------------------------------------------------------------------------*/ + +void interpolate( + MODEL *interp, /* interpolated model params */ + MODEL *prev, /* previous frames model params */ + MODEL *next /* next frames model params */ +) +{ + int l; + float w,log_amp; + + /* Wo depends on voicing of this and adjacent frames */ + + if (interp->voiced) { + if (prev->voiced && next->voiced) + interp->Wo = (prev->Wo + next->Wo)/2.0; + if (!prev->voiced && next->voiced) + interp->Wo = next->Wo; + if (prev->voiced && !next->voiced) + interp->Wo = prev->Wo; + } + else { + interp->Wo = TWO_PI/P_MAX; + } + interp->L = PI/interp->Wo; + + /* Interpolate amplitudes using linear interpolation in log domain */ + + for(l=1; l<=interp->L; l++) { + w = l*interp->Wo; + log_amp = (sample_log_amp(prev, w) + sample_log_amp(next, w))/2.0; + interp->A[l] = pow(10.0, log_amp); + } +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: sample_log_amp() + AUTHOR......: David Rowe + DATE CREATED: 22/8/10 + + Samples the amplitude envelope at an arbitrary frequency w. Uses + linear interpolation in the log domain to sample between harmonic + amplitudes. + +\*---------------------------------------------------------------------------*/ + +float sample_log_amp(MODEL *model, float w) +{ + int m; + float f, log_amp; + + assert(w > 0.0); assert (w <= PI); + + m = floorf(w/model->Wo + 0.5); + f = (w - m*model->Wo)/w; + assert(f <= 1.0); + + if (m < 1) { + log_amp = f*log10f(model->A[1] + 1E-6); + } + else if ((m+1) > model->L) { + log_amp = (1.0-f)*log10f(model->A[model->L] + 1E-6); + } + else { + log_amp = (1.0-f)*log10f(model->A[m] + 1E-6) + + f*log10f(model->A[m+1] + 1E-6); + } + + return log_amp; +} + +#ifdef NOT_NEEDED + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp_lsp() + AUTHOR......: David Rowe + DATE CREATED: 10 Nov 2010 + + Given two frames decribed by model parameters 20ms apart, determines + the model parameters of the 10ms frame between them. Assumes + voicing is available for middle (interpolated) frame. Outputs are + amplitudes and Wo for the interpolated frame. + + This version uses interpolation of LSPs, seems to do a better job + with bg noise. + +\*---------------------------------------------------------------------------*/ + +void interpolate_lsp( + kiss_fft_cfg fft_fwd_cfg, + MODEL *interp, /* interpolated model params */ + MODEL *prev, /* previous frames model params */ + MODEL *next, /* next frames model params */ + float *prev_lsps, /* previous frames LSPs */ + float prev_e, /* previous frames LPC energy */ + float *next_lsps, /* next frames LSPs */ + float next_e, /* next frames LPC energy */ + float *ak_interp, /* interpolated aks for this frame */ + float *lsps_interp/* interpolated lsps for this frame */ +) +{ + int i; + float e; + float snr; + + /* trap corner case where V est is probably wrong */ + + if (interp->voiced && !prev->voiced && !next->voiced) { + interp->voiced = 0; + } + + /* Wo depends on voicing of this and adjacent frames */ + + if (interp->voiced) { + if (prev->voiced && next->voiced) + interp->Wo = (prev->Wo + next->Wo)/2.0; + if (!prev->voiced && next->voiced) + interp->Wo = next->Wo; + if (prev->voiced && !next->voiced) + interp->Wo = prev->Wo; + } + else { + interp->Wo = TWO_PI/P_MAX; + } + interp->L = PI/interp->Wo; + + //printf(" interp: prev_v: %d next_v: %d prev_Wo: %f next_Wo: %f\n", + // prev->voiced, next->voiced, prev->Wo, next->Wo); + //printf(" interp: Wo: %1.5f L: %d\n", interp->Wo, interp->L); + + /* interpolate LSPs */ + + for(i=0; iA[1]); +} +#endif + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp_Wo() + AUTHOR......: David Rowe + DATE CREATED: 22 May 2012 + + Interpolates centre 10ms sample of Wo and L samples given two + samples 20ms apart. Assumes voicing is available for centre + (interpolated) frame. + +\*---------------------------------------------------------------------------*/ + +void interp_Wo( + MODEL *interp, /* interpolated model params */ + MODEL *prev, /* previous frames model params */ + MODEL *next /* next frames model params */ + ) +{ + interp_Wo2(interp, prev, next, 0.5); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp_Wo2() + AUTHOR......: David Rowe + DATE CREATED: 22 May 2012 + + Weighted interpolation of two Wo samples. + +\*---------------------------------------------------------------------------*/ + +void interp_Wo2( + MODEL *interp, /* interpolated model params */ + MODEL *prev, /* previous frames model params */ + MODEL *next, /* next frames model params */ + float weight +) +{ + /* trap corner case where voicing est is probably wrong */ + + if (interp->voiced && !prev->voiced && !next->voiced) { + interp->voiced = 0; + } + + /* Wo depends on voicing of this and adjacent frames */ + + if (interp->voiced) { + if (prev->voiced && next->voiced) + interp->Wo = (1.0 - weight)*prev->Wo + weight*next->Wo; + if (!prev->voiced && next->voiced) + interp->Wo = next->Wo; + if (prev->voiced && !next->voiced) + interp->Wo = prev->Wo; + } + else { + interp->Wo = TWO_PI/P_MAX; + } + interp->L = PI/interp->Wo; +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp_energy() + AUTHOR......: David Rowe + DATE CREATED: 22 May 2012 + + Interpolates centre 10ms sample of energy given two samples 20ms + apart. + +\*---------------------------------------------------------------------------*/ + +float interp_energy(float prev_e, float next_e) +{ + return powf(10.0, (log10f(prev_e) + log10f(next_e))/2.0); + +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interp_energy2() + AUTHOR......: David Rowe + DATE CREATED: 22 May 2012 + + Interpolates centre 10ms sample of energy given two samples 20ms + apart. + +\*---------------------------------------------------------------------------*/ + +float interp_energy2(float prev_e, float next_e, float weight) +{ + return powf(10.0, (1.0 - weight)*log10f(prev_e) + weight*log10f(next_e)); + +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: interpolate_lsp_ver2() + AUTHOR......: David Rowe + DATE CREATED: 22 May 2012 + + Weighted interpolation of LSPs. + +\*---------------------------------------------------------------------------*/ + +void interpolate_lsp_ver2(float interp[], float prev[], float next[], float weight) +{ + int i; + + for(i=0; i. +*/ + +#ifndef __INTERP__ +#define __INTERP__ + +#include "kiss_fft.h" + +void interpolate(MODEL *interp, MODEL *prev, MODEL *next); +void interpolate_lsp(kiss_fft_cfg fft_dec_cfg, + MODEL *interp, MODEL *prev, MODEL *next, + float *prev_lsps, float prev_e, + float *next_lsps, float next_e, + float *ak_interp, float *lsps_interp); +void interp_Wo(MODEL *interp, MODEL *prev, MODEL *next); +void interp_Wo2(MODEL *interp, MODEL *prev, MODEL *next, float weight); +float interp_energy(float prev, float next); +float interp_energy2(float prev, float next, float weight); +void interpolate_lsp_ver2(float interp[], float prev[], float next[], float weight); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/kiss_fft.c b/DSP_API/CODEC2_FREEDV/kiss_fft.c new file mode 100644 index 0000000..465d6c9 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/kiss_fft.c @@ -0,0 +1,408 @@ +/* +Copyright (c) 2003-2010, Mark Borgerding + +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 author nor the names of any 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 "_kiss_fft_guts.h" +/* The guts header contains all the multiplication and addition macros that are defined for + fixed or floating point complex numbers. It also delares the kf_ internal functions. + */ + +static void kf_bfly2( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx * Fout2; + kiss_fft_cpx * tw1 = st->twiddles; + kiss_fft_cpx t; + Fout2 = Fout + m; + do{ + C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2); + + C_MUL (t, *Fout2 , *tw1); + tw1 += fstride; + C_SUB( *Fout2 , *Fout , t ); + C_ADDTO( *Fout , t ); + ++Fout2; + ++Fout; + }while (--m); +} + +static void kf_bfly4( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + const size_t m + ) +{ + kiss_fft_cpx *tw1,*tw2,*tw3; + kiss_fft_cpx scratch[6]; + size_t k=m; + const size_t m2=2*m; + const size_t m3=3*m; + + + tw3 = tw2 = tw1 = st->twiddles; + + do { + C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4); + + C_MUL(scratch[0],Fout[m] , *tw1 ); + C_MUL(scratch[1],Fout[m2] , *tw2 ); + C_MUL(scratch[2],Fout[m3] , *tw3 ); + + C_SUB( scratch[5] , *Fout, scratch[1] ); + C_ADDTO(*Fout, scratch[1]); + C_ADD( scratch[3] , scratch[0] , scratch[2] ); + C_SUB( scratch[4] , scratch[0] , scratch[2] ); + C_SUB( Fout[m2], *Fout, scratch[3] ); + tw1 += fstride; + tw2 += fstride*2; + tw3 += fstride*3; + C_ADDTO( *Fout , scratch[3] ); + + if(st->inverse) { + Fout[m].r = scratch[5].r - scratch[4].i; + Fout[m].i = scratch[5].i + scratch[4].r; + Fout[m3].r = scratch[5].r + scratch[4].i; + Fout[m3].i = scratch[5].i - scratch[4].r; + }else{ + Fout[m].r = scratch[5].r + scratch[4].i; + Fout[m].i = scratch[5].i - scratch[4].r; + Fout[m3].r = scratch[5].r - scratch[4].i; + Fout[m3].i = scratch[5].i + scratch[4].r; + } + ++Fout; + }while(--k); +} + +static void kf_bfly3( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + size_t m + ) +{ + size_t k=m; + const size_t m2 = 2*m; + kiss_fft_cpx *tw1,*tw2; + kiss_fft_cpx scratch[5]; + kiss_fft_cpx epi3; + epi3 = st->twiddles[fstride*m]; + + tw1=tw2=st->twiddles; + + do{ + C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3); + + C_MUL(scratch[1],Fout[m] , *tw1); + C_MUL(scratch[2],Fout[m2] , *tw2); + + C_ADD(scratch[3],scratch[1],scratch[2]); + C_SUB(scratch[0],scratch[1],scratch[2]); + tw1 += fstride; + tw2 += fstride*2; + + Fout[m].r = Fout->r - HALF_OF(scratch[3].r); + Fout[m].i = Fout->i - HALF_OF(scratch[3].i); + + C_MULBYSCALAR( scratch[0] , epi3.i ); + + C_ADDTO(*Fout,scratch[3]); + + Fout[m2].r = Fout[m].r + scratch[0].i; + Fout[m2].i = Fout[m].i - scratch[0].r; + + Fout[m].r -= scratch[0].i; + Fout[m].i += scratch[0].r; + + ++Fout; + }while(--k); +} + +static void kf_bfly5( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx *Fout0,*Fout1,*Fout2,*Fout3,*Fout4; + int u; + kiss_fft_cpx scratch[13]; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx *tw; + kiss_fft_cpx ya,yb; + ya = twiddles[fstride*m]; + yb = twiddles[fstride*2*m]; + + Fout0=Fout; + Fout1=Fout0+m; + Fout2=Fout0+2*m; + Fout3=Fout0+3*m; + Fout4=Fout0+4*m; + + tw=st->twiddles; + for ( u=0; ur += scratch[7].r + scratch[8].r; + Fout0->i += scratch[7].i + scratch[8].i; + + scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r); + scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r); + + scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i); + scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i); + + C_SUB(*Fout1,scratch[5],scratch[6]); + C_ADD(*Fout4,scratch[5],scratch[6]); + + scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r); + scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r); + scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i); + scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i); + + C_ADD(*Fout2,scratch[11],scratch[12]); + C_SUB(*Fout3,scratch[11],scratch[12]); + + ++Fout0;++Fout1;++Fout2;++Fout3;++Fout4; + } +} + +/* perform the butterfly for one stage of a mixed radix FFT */ +static void kf_bfly_generic( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m, + int p + ) +{ + int u,k,q1,q; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx t; + int Norig = st->nfft; + + kiss_fft_cpx * scratch = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx)*p); + + for ( u=0; u=Norig) twidx-=Norig; + C_MUL(t,scratch[q] , twiddles[twidx] ); + C_ADDTO( Fout[ k ] ,t); + } + k += m; + } + } + KISS_FFT_TMP_FREE(scratch); +} + +static +void kf_work( + kiss_fft_cpx * Fout, + const kiss_fft_cpx * f, + const size_t fstride, + int in_stride, + int * factors, + const kiss_fft_cfg st + ) +{ + kiss_fft_cpx * Fout_beg=Fout; + const int p=*factors++; /* the radix */ + const int m=*factors++; /* stage's fft length/p */ + const kiss_fft_cpx * Fout_end = Fout + p*m; + +#ifdef _OPENMP + // use openmp extensions at the + // top-level (not recursive) + if (fstride==1 && p<=5) + { + int k; + + // execute the p different work units in different threads +# pragma omp parallel for + for (k=0;k floor_sqrt) + p = n; /* no more factors, skip to end */ + } + n /= p; + *facbuf++ = p; + *facbuf++ = n; + } while (n > 1); +} + +/* + * + * User-callable function to allocate all necessary storage space for the fft. + * + * The return value is a contiguous block of memory, allocated with malloc. As such, + * It can be freed with free(), rather than a kiss_fft-specific function. + * */ +kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem ) +{ + kiss_fft_cfg st=NULL; + size_t memneeded = sizeof(struct kiss_fft_state) + + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/ + + if ( lenmem==NULL ) { + st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded ); + }else{ + if (mem != NULL && *lenmem >= memneeded) + st = (kiss_fft_cfg)mem; + *lenmem = memneeded; + } + if (st) { + int i; + st->nfft=nfft; + st->inverse = inverse_fft; + + for (i=0;iinverse) + phase *= -1; + kf_cexp(st->twiddles+i, phase ); + } + + kf_factor(nfft,st->factors); + } + return st; +} + + +void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride) +{ + if (fin == fout) { + //NOTE: this is not really an in-place FFT algorithm. + //It just performs an out-of-place FFT into a temp buffer + kiss_fft_cpx * tmpbuf = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC( sizeof(kiss_fft_cpx)*st->nfft); + kf_work(tmpbuf,fin,1,in_stride, st->factors,st); + memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); + KISS_FFT_TMP_FREE(tmpbuf); + }else{ + kf_work( fout, fin, 1,in_stride, st->factors,st ); + } +} + +void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout) +{ + kiss_fft_stride(cfg,fin,fout,1); +} + + +void kiss_fft_cleanup(void) +{ + // nothing needed any more +} + +int kiss_fft_next_fast_size(int n) +{ + while(1) { + int m=n; + while ( (m%2) == 0 ) m/=2; + while ( (m%3) == 0 ) m/=3; + while ( (m%5) == 0 ) m/=5; + if (m<=1) + break; /* n is completely factorable by twos, threes, and fives */ + n++; + } + return n; +} diff --git a/DSP_API/CODEC2_FREEDV/kiss_fft.h b/DSP_API/CODEC2_FREEDV/kiss_fft.h new file mode 100644 index 0000000..64c50f4 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/kiss_fft.h @@ -0,0 +1,124 @@ +#ifndef KISS_FFT_H +#define KISS_FFT_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + ATTENTION! + If you would like a : + -- a utility that will handle the caching of fft objects + -- real-only (no imaginary time component ) FFT + -- a multi-dimensional FFT + -- a command-line utility to perform ffts + -- a command-line utility to perform fast-convolution filtering + + Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c + in the tools/ directory. +*/ + +#ifdef USE_SIMD +# include +# define kiss_fft_scalar __m128 +#define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes,16) +#define KISS_FFT_FREE _mm_free +#else +#define KISS_FFT_MALLOC malloc +#define KISS_FFT_FREE free +#endif + + +#ifdef FIXED_POINT +#include +# if (FIXED_POINT == 32) +# define kiss_fft_scalar int32_t +# else +# define kiss_fft_scalar int16_t +# endif +#else +# ifndef kiss_fft_scalar +/* default is float */ +# define kiss_fft_scalar float +# endif +#endif + +typedef struct { + kiss_fft_scalar r; + kiss_fft_scalar i; +}kiss_fft_cpx; + +typedef struct kiss_fft_state* kiss_fft_cfg; + +/* + * kiss_fft_alloc + * + * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. + * + * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); + * + * The return value from fft_alloc is a cfg buffer used internally + * by the fft routine or NULL. + * + * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc. + * The returned value should be free()d when done to avoid memory leaks. + * + * The state can be placed in a user supplied buffer 'mem': + * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, + * then the function places the cfg in mem and the size used in *lenmem + * and returns mem. + * + * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), + * then the function returns NULL and places the minimum cfg + * buffer size in *lenmem. + * */ + +kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); + +/* + * kiss_fft(cfg,in_out_buf) + * + * Perform an FFT on a complex input buffer. + * for a forward FFT, + * fin should be f[0] , f[1] , ... ,f[nfft-1] + * fout will be F[0] , F[1] , ... ,F[nfft-1] + * Note that each element is complex and can be accessed like + f[k].r and f[k].i + * */ +void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout); + +/* + A more generic version of the above function. It reads its input from every Nth sample. + * */ +void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride); + +/* If kiss_fft_alloc allocated a buffer, it is one contiguous + buffer and can be simply free()d when no longer needed*/ +#define kiss_fft_free free + +/* + Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up + your compiler output to call this before you exit. +*/ +void kiss_fft_cleanup(void); + + +/* + * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5) + */ +int kiss_fft_next_fast_size(int n); + +/* for real ffts, we need an even size */ +#define kiss_fftr_next_fast_size_real(n) \ + (kiss_fft_next_fast_size( ((n)+1)>>1)<<1) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/DSP_API/CODEC2_FREEDV/lpc.c b/DSP_API/CODEC2_FREEDV/lpc.c new file mode 100644 index 0000000..4622dc3 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/lpc.c @@ -0,0 +1,306 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: lpc.c + AUTHOR......: David Rowe + DATE CREATED: 30 Sep 1990 (!) + + Linear Prediction functions written in C. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009-2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#define LPC_MAX_N 512 /* maximum no. of samples in frame */ +#define PI 3.141592654 /* mathematical constant */ + +#define ALPHA 1.0 +#define BETA 0.94 + +#include +#include +#include "defines.h" +#include "lpc.h" + +/*---------------------------------------------------------------------------*\ + + pre_emp() + + Pre-emphasise (high pass filter with zero close to 0 Hz) a frame of + speech samples. Helps reduce dynamic range of LPC spectrum, giving + greater weight and hensea better match to low energy formants. + + Should be balanced by de-emphasis of the output speech. + +\*---------------------------------------------------------------------------*/ + +void pre_emp( + float Sn_pre[], /* output frame of speech samples */ + float Sn[], /* input frame of speech samples */ + float *mem, /* Sn[-1]single sample memory */ + int Nsam /* number of speech samples to use */ +) +{ + int i; + + for(i=0; i 1.0) + k = 0.0; + + a[i][i] = k; + + for(j=1; j<=i-1; j++) + a[i][j] = a[i-1][j] + k*a[i-1][i-j]; /* Equation 38c, Makhoul */ + + e *= (1-k*k); /* Equation 38d, Makhoul */ + } + + for(i=1; i<=order; i++) + lpcs[i] = a[order][i]; + lpcs[0] = 1.0; +} + +/*---------------------------------------------------------------------------*\ + + inverse_filter() + + Inverse Filter, A(z). Produces an array of residual samples from an array + of input samples and linear prediction coefficients. + + The filter memory is stored in the first order samples of the input array. + +\*---------------------------------------------------------------------------*/ + +void inverse_filter( + float Sn[], /* Nsam input samples */ + float a[], /* LPCs for this frame of samples */ + int Nsam, /* number of samples */ + float res[], /* Nsam residual samples */ + int order /* order of LPC */ +) +{ + int i,j; /* loop variables */ + + for(i=0; i. +*/ + +#ifndef __LPC__ +#define __LPC__ + +#define LPC_MAX_ORDER 20 + +void pre_emp(float Sn_pre[], float Sn[], float *mem, int Nsam); +void de_emp(float Sn_se[], float Sn[], float *mem, int Nsam); +void hanning_window(float Sn[], float Wn[], int Nsam); +void autocorrelate(float Sn[], float Rn[], int Nsam, int order); +void levinson_durbin(float R[], float lpcs[], int order); +void inverse_filter(float Sn[], float a[], int Nsam, float res[], int order); +void synthesis_filter(float res[], float a[], int Nsam, int order, float Sn_[]); +void find_aks(float Sn[], float a[], int Nsam, int order, float *E); +void weight(float ak[], float gamma, int order, float akw[]); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/lsp.c b/DSP_API/CODEC2_FREEDV/lsp.c new file mode 100644 index 0000000..61c6de1 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/lsp.c @@ -0,0 +1,321 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: lsp.c + AUTHOR......: David Rowe + DATE CREATED: 24/2/93 + + + This file contains functions for LPC to LSP conversion and LSP to + LPC conversion. Note that the LSP coefficients are not in radians + format but in the x domain of the unit circle. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include "defines.h" +#include "lsp.h" +#include +#include +#include + +/*---------------------------------------------------------------------------*\ + + Introduction to Line Spectrum Pairs (LSPs) + ------------------------------------------ + + LSPs are used to encode the LPC filter coefficients {ak} for + transmission over the channel. LSPs have several properties (like + less sensitivity to quantisation noise) that make them superior to + direct quantisation of {ak}. + + A(z) is a polynomial of order lpcrdr with {ak} as the coefficients. + + A(z) is transformed to P(z) and Q(z) (using a substitution and some + algebra), to obtain something like: + + A(z) = 0.5[P(z)(z+z^-1) + Q(z)(z-z^-1)] (1) + + As you can imagine A(z) has complex zeros all over the z-plane. P(z) + and Q(z) have the very neat property of only having zeros _on_ the + unit circle. So to find them we take a test point z=exp(jw) and + evaluate P (exp(jw)) and Q(exp(jw)) using a grid of points between 0 + and pi. + + The zeros (roots) of P(z) also happen to alternate, which is why we + swap coefficients as we find roots. So the process of finding the + LSP frequencies is basically finding the roots of 5th order + polynomials. + + The root so P(z) and Q(z) occur in symmetrical pairs at +/-w, hence + the name Line Spectrum Pairs (LSPs). + + To convert back to ak we just evaluate (1), "clocking" an impulse + thru it lpcrdr times gives us the impulse response of A(z) which is + {ak}. + +\*---------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: cheb_poly_eva() + AUTHOR......: David Rowe + DATE CREATED: 24/2/93 + + This function evalutes a series of chebyshev polynomials + + FIXME: performing memory allocation at run time is very inefficient, + replace with stack variables of MAX_P size. + +\*---------------------------------------------------------------------------*/ + + +static float +cheb_poly_eva(float *coef,float x,int order) +/* float coef[] coefficients of the polynomial to be evaluated */ +/* float x the point where polynomial is to be evaluated */ +/* int order order of the polynomial */ +{ + int i; + float *t,*u,*v,sum; + float T[(order / 2) + 1]; + + /* Initialize pointers */ + + t = T; /* T[i-2] */ + *t++ = 1.0; + u = t--; /* T[i-1] */ + *u++ = x; + v = u--; /* T[i] */ + + /* Evaluate chebyshev series formulation using iterative approach */ + + for(i=2;i<=order/2;i++) + *v++ = (2*x)*(*u++) - *t++; /* T[i] = 2*x*T[i-1] - T[i-2] */ + + sum=0.0; /* initialise sum to zero */ + t = T; /* reset pointer */ + + /* Evaluate polynomial and return value also free memory space */ + + for(i=0;i<=order/2;i++) + sum+=coef[(order/2)-i]**t++; + + return sum; +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: lpc_to_lsp() + AUTHOR......: David Rowe + DATE CREATED: 24/2/93 + + This function converts LPC coefficients to LSP coefficients. + +\*---------------------------------------------------------------------------*/ + +int lpc_to_lsp (float *a, int order, float *freq, int nb, float delta) +/* float *a lpc coefficients */ +/* int order order of LPC coefficients (10) */ +/* float *freq LSP frequencies in radians */ +/* int nb number of sub-intervals (4) */ +/* float delta grid spacing interval (0.02) */ +{ + float psuml,psumr,psumm,temp_xr,xl,xr,xm = 0; + float temp_psumr; + int i,j,m,flag,k; + float *px; /* ptrs of respective P'(z) & Q'(z) */ + float *qx; + float *p; + float *q; + float *pt; /* ptr used for cheb_poly_eval() + whether P' or Q' */ + int roots=0; /* number of roots found */ + float Q[order + 1]; + float P[order + 1]; + + flag = 1; + m = order/2; /* order of P'(z) & Q'(z) polynimials */ + + /* Allocate memory space for polynomials */ + + /* determine P'(z)'s and Q'(z)'s coefficients where + P'(z) = P(z)/(1 + z^(-1)) and Q'(z) = Q(z)/(1-z^(-1)) */ + + px = P; /* initilaise ptrs */ + qx = Q; + p = px; + q = qx; + *px++ = 1.0; + *qx++ = 1.0; + for(i=1;i<=m;i++){ + *px++ = a[i]+a[order+1-i]-*p++; + *qx++ = a[i]-a[order+1-i]+*q++; + } + px = P; + qx = Q; + for(i=0;i= -1.0)){ + xr = xl - delta ; /* interval spacing */ + psumr = cheb_poly_eva(pt,xr,order);/* poly(xl-delta_x) */ + temp_psumr = psumr; + temp_xr = xr; + + /* if no sign change increment xr and re-evaluate + poly(xr). Repeat til sign change. if a sign change has + occurred the interval is bisected and then checked again + for a sign change which determines in which interval the + zero lies in. If there is no sign change between poly(xm) + and poly(xl) set interval between xm and xr else set + interval between xl and xr and repeat till root is located + within the specified limits */ + + if(((psumr*psuml)<0.0) || (psumr == 0.0)){ + roots++; + + psumm=psuml; + for(k=0;k<=nb;k++){ + xm = (xl+xr)/2; /* bisect the interval */ + psumm=cheb_poly_eva(pt,xm,order); + if(psumm*psuml>0.){ + psuml=psumm; + xl=xm; + } + else{ + psumr=psumm; + xr=xm; + } + } + + /* once zero is found, reset initial interval to xr */ + freq[j] = (xm); + xl = xm; + flag = 0; /* reset flag for next search */ + } + else{ + psuml=temp_psumr; + xl=temp_xr; + } + } + } + + /* convert from x domain to radians */ + + for(i=0; i. +*/ + +#ifndef __LSP__ +#define __LSP__ + +int lpc_to_lsp (float *a, int lpcrdr, float *freq, int nb, float delta); +void lsp_to_lpc(float *freq, float *ak, int lpcrdr); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/machdep.h b/DSP_API/CODEC2_FREEDV/machdep.h new file mode 100644 index 0000000..4dff9ba --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/machdep.h @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: machdep.h + AUTHOR......: David Rowe + DATE CREATED: May 2 2013 + + Machine dependant functions, e.g. profiling that requires access to a clock + counter register. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2013 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __MACHDEP__ +#define __MACHDEP__ + +#ifdef PROFILE +#define PROFILE_VAR(...) unsigned int __VA_ARGS__ +#define PROFILE_SAMPLE(timestamp) timestamp = machdep_profile_sample() +#define PROFILE_SAMPLE_AND_LOG(timestamp, prev_timestamp, label) \ + timestamp = machdep_profile_sample_and_log(prev_timestamp, label) +#define PROFILE_SAMPLE_AND_LOG2(prev_timestamp, label) \ + machdep_profile_sample_and_log(prev_timestamp, label) +#else +#define PROFILE_VAR(...) +#define PROFILE_SAMPLE(timestamp) +#define PROFILE_SAMPLE_AND_LOG(timestamp, prev_timestamp, label) +#define PROFILE_SAMPLE_AND_LOG2(prev_timestamp, label) +#endif + +void machdep_profile_init(void); +void machdep_profile_reset(void); +unsigned int machdep_profile_sample(void); +unsigned int machdep_profile_sample_and_log(unsigned int start, char s[]); +void machdep_profile_print_logged_samples(void); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/nlp.c b/DSP_API/CODEC2_FREEDV/nlp.c new file mode 100644 index 0000000..9ed0561 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/nlp.c @@ -0,0 +1,589 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: nlp.c + AUTHOR......: David Rowe + DATE CREATED: 23/3/93 + + Non Linear Pitch (NLP) estimation functions. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include "defines.h" +#include "nlp.h" +#include "dump.h" +#include "kiss_fft.h" +#undef PROFILE +#include "machdep.h" + +#include +#include +#include + +/*---------------------------------------------------------------------------*\ + + DEFINES + +\*---------------------------------------------------------------------------*/ + +#define PMAX_M 600 /* maximum NLP analysis window size */ +#define COEFF 0.95 /* notch filter parameter */ +#define PE_FFT_SIZE 512 /* DFT size for pitch estimation */ +#define DEC 5 /* decimation factor */ +#define SAMPLE_RATE 8000 +#define PI 3.141592654 /* mathematical constant */ +#define T 0.1 /* threshold for local minima candidate */ +#define F0_MAX 500 +#define CNLP 0.3 /* post processor constant */ +#define NLP_NTAP 48 /* Decimation LPF order */ + +//#undef DUMP + +/*---------------------------------------------------------------------------*\ + + GLOBALS + +\*---------------------------------------------------------------------------*/ + +/* 48 tap 600Hz low pass FIR filter coefficients */ + +const float nlp_fir[] = { + -1.0818124e-03, + -1.1008344e-03, + -9.2768838e-04, + -4.2289438e-04, + 5.5034190e-04, + 2.0029849e-03, + 3.7058509e-03, + 5.1449415e-03, + 5.5924666e-03, + 4.3036754e-03, + 8.0284511e-04, + -4.8204610e-03, + -1.1705810e-02, + -1.8199275e-02, + -2.2065282e-02, + -2.0920610e-02, + -1.2808831e-02, + 3.2204775e-03, + 2.6683811e-02, + 5.5520624e-02, + 8.6305944e-02, + 1.1480192e-01, + 1.3674206e-01, + 1.4867556e-01, + 1.4867556e-01, + 1.3674206e-01, + 1.1480192e-01, + 8.6305944e-02, + 5.5520624e-02, + 2.6683811e-02, + 3.2204775e-03, + -1.2808831e-02, + -2.0920610e-02, + -2.2065282e-02, + -1.8199275e-02, + -1.1705810e-02, + -4.8204610e-03, + 8.0284511e-04, + 4.3036754e-03, + 5.5924666e-03, + 5.1449415e-03, + 3.7058509e-03, + 2.0029849e-03, + 5.5034190e-04, + -4.2289438e-04, + -9.2768838e-04, + -1.1008344e-03, + -1.0818124e-03 +}; + +typedef struct { + int m; + float w[PMAX_M/DEC]; /* DFT window */ + float sq[PMAX_M]; /* squared speech samples */ + float mem_x,mem_y; /* memory for notch filter */ + float mem_fir[NLP_NTAP]; /* decimation FIR filter memory */ + kiss_fft_cfg fft_cfg; /* kiss FFT config */ +} NLP; + +float test_candidate_mbe(COMP Sw[], COMP W[], float f0); +float post_process_mbe(COMP Fw[], int pmin, int pmax, float gmax, COMP Sw[], COMP W[], float *prev_Wo); +float post_process_sub_multiples(COMP Fw[], + int pmin, int pmax, float gmax, int gmax_bin, + float *prev_Wo); + +/*---------------------------------------------------------------------------*\ + + nlp_create() + + Initialisation function for NLP pitch estimator. + +\*---------------------------------------------------------------------------*/ + +void *nlp_create( +int m /* analysis window size */ +) +{ + NLP *nlp; + int i; + + assert(m <= PMAX_M); + + nlp = (NLP*)malloc(sizeof(NLP)); + if (nlp == NULL) + return NULL; + + nlp->m = m; + for(i=0; iw[i] = 0.5 - 0.5*cosf(2*PI*i/(m/DEC-1)); + } + + for(i=0; isq[i] = 0.0; + nlp->mem_x = 0.0; + nlp->mem_y = 0.0; + for(i=0; imem_fir[i] = 0.0; + + nlp->fft_cfg = kiss_fft_alloc (PE_FFT_SIZE, 0, NULL, NULL); + assert(nlp->fft_cfg != NULL); + + return (void*)nlp; +} + +/*---------------------------------------------------------------------------*\ + + nlp_destroy() + + Shut down function for NLP pitch estimator. + +\*---------------------------------------------------------------------------*/ + +void nlp_destroy(void *nlp_state) +{ + NLP *nlp; + assert(nlp_state != NULL); + nlp = (NLP*)nlp_state; + + KISS_FFT_FREE(nlp->fft_cfg); + free(nlp_state); +} + +/*---------------------------------------------------------------------------*\ + + nlp() + + Determines the pitch in samples using the Non Linear Pitch (NLP) + algorithm [1]. Returns the fundamental in Hz. Note that the actual + pitch estimate is for the centre of the M sample Sn[] vector, not + the current N sample input vector. This is (I think) a delay of 2.5 + frames with N=80 samples. You should align further analysis using + this pitch estimate to be centred on the middle of Sn[]. + + Two post processors have been tried, the MBE version (as discussed + in [1]), and a post processor that checks sub-multiples. Both + suffer occasional gross pitch errors (i.e. neither are perfect). In + the presence of background noise the sub-multiple algorithm tends + towards low F0 which leads to better sounding background noise than + the MBE post processor. + + A good way to test and develop the NLP pitch estimator is using the + tnlp (codec2/unittest) and the codec2/octave/plnlp.m Octave script. + + A pitch tracker searching a few frames forward and backward in time + would be a useful addition. + + References: + + [1] http://www.itr.unisa.edu.au/~steven/thesis/dgr.pdf Chapter 4 + +\*---------------------------------------------------------------------------*/ + +float nlp( + void *nlp_state, + float Sn[], /* input speech vector */ + int n, /* frames shift (no. new samples in Sn[]) */ + int pmin, /* minimum pitch value */ + int pmax, /* maximum pitch value */ + float *pitch, /* estimated pitch period in samples */ + COMP Sw[], /* Freq domain version of Sn[] */ + COMP W[], /* Freq domain window */ + float *prev_Wo +) +{ + NLP *nlp; + float notch; /* current notch filter output */ + COMP fw[PE_FFT_SIZE]; /* DFT of squared signal (input) */ + COMP Fw[PE_FFT_SIZE]; /* DFT of squared signal (output) */ + float gmax; + int gmax_bin; + int m, i,j; + float best_f0; + PROFILE_VAR(start, tnotch, filter, peakpick, window, fft, magsq, shiftmem); + + assert(nlp_state != NULL); + nlp = (NLP*)nlp_state; + m = nlp->m; + + PROFILE_SAMPLE(start); + + /* Square, notch filter at DC, and LP filter vector */ + + for(i=m-n; isq[i] = Sn[i]*Sn[i]; + + for(i=m-n; isq[i] - nlp->mem_x; + notch += COEFF*nlp->mem_y; + nlp->mem_x = nlp->sq[i]; + nlp->mem_y = notch; + nlp->sq[i] = notch + 1.0; /* With 0 input vectors to codec, + kiss_fft() would take a long + time to execute when running in + real time. Problem was traced + to kiss_fft function call in + this function. Adding this small + constant fixed problem. Not + exactly sure why. */ + } + + PROFILE_SAMPLE_AND_LOG(tnotch, start, " square and notch"); + + for(i=m-n; imem_fir[j] = nlp->mem_fir[j+1]; + nlp->mem_fir[NLP_NTAP-1] = nlp->sq[i]; + + nlp->sq[i] = 0.0; + for(j=0; jsq[i] += nlp->mem_fir[j]*nlp_fir[j]; + } + + PROFILE_SAMPLE_AND_LOG(filter, tnotch, " filter"); + + /* Decimate and DFT */ + + for(i=0; isq[i*DEC]*nlp->w[i]; + } + PROFILE_SAMPLE_AND_LOG(window, filter, " window"); + #ifdef DUMP + dump_dec(Fw); + #endif + + kiss_fft(nlp->fft_cfg, (kiss_fft_cpx *)fw, (kiss_fft_cpx *)Fw); + PROFILE_SAMPLE_AND_LOG(fft, window, " fft"); + + for(i=0; isq); + dump_Fw(Fw); + #endif + + /* find global peak */ + + gmax = 0.0; + gmax_bin = PE_FFT_SIZE*DEC/pmax; + for(i=PE_FFT_SIZE*DEC/pmax; i<=PE_FFT_SIZE*DEC/pmin; i++) { + if (Fw[i].real > gmax) { + gmax = Fw[i].real; + gmax_bin = i; + } + } + + PROFILE_SAMPLE_AND_LOG(peakpick, magsq, " peak pick"); + + //#define POST_PROCESS_MBE + #ifdef POST_PROCESS_MBE + best_f0 = post_process_mbe(Fw, pmin, pmax, gmax, Sw, W, prev_Wo); + #else + best_f0 = post_process_sub_multiples(Fw, pmin, pmax, gmax, gmax_bin, prev_Wo); + #endif + + PROFILE_SAMPLE_AND_LOG(shiftmem, peakpick, " post process"); + + /* Shift samples in buffer to make room for new samples */ + + for(i=0; isq[i] = nlp->sq[i+n]; + + /* return pitch and F0 estimate */ + + *pitch = (float)SAMPLE_RATE/best_f0; + + PROFILE_SAMPLE_AND_LOG2(shiftmem, " shift mem"); + + PROFILE_SAMPLE_AND_LOG2(start, " nlp int"); + + return(best_f0); +} + +/*---------------------------------------------------------------------------*\ + + post_process_sub_multiples() + + Given the global maximma of Fw[] we search integer submultiples for + local maxima. If local maxima exist and they are above an + experimentally derived threshold (OK a magic number I pulled out of + the air) we choose the submultiple as the F0 estimate. + + The rational for this is that the lowest frequency peak of Fw[] + should be F0, as Fw[] can be considered the autocorrelation function + of Sw[] (the speech spectrum). However sometimes due to phase + effects the lowest frequency maxima may not be the global maxima. + + This works OK in practice and favours low F0 values in the presence + of background noise which means the sinusoidal codec does an OK job + of synthesising the background noise. High F0 in background noise + tends to sound more periodic introducing annoying artifacts. + +\*---------------------------------------------------------------------------*/ + +float post_process_sub_multiples(COMP Fw[], + int pmin, int pmax, float gmax, int gmax_bin, + float *prev_Wo) +{ + int min_bin, cmax_bin; + int mult; + float thresh, best_f0; + int b, bmin, bmax, lmax_bin; + float lmax; + int prev_f0_bin; + + /* post process estimate by searching submultiples */ + + mult = 2; + min_bin = PE_FFT_SIZE*DEC/pmax; + cmax_bin = gmax_bin; + prev_f0_bin = *prev_Wo*(4000.0/PI)*(PE_FFT_SIZE*DEC)/SAMPLE_RATE; + + while(gmax_bin/mult >= min_bin) { + + b = gmax_bin/mult; /* determine search interval */ + bmin = 0.8*b; + bmax = 1.2*b; + if (bmin < min_bin) + bmin = min_bin; + + /* lower threshold to favour previous frames pitch estimate, + this is a form of pitch tracking */ + + if ((prev_f0_bin > bmin) && (prev_f0_bin < bmax)) + thresh = CNLP*0.5*gmax; + else + thresh = CNLP*gmax; + + lmax = 0; + lmax_bin = bmin; + for (b=bmin; b<=bmax; b++) /* look for maximum in interval */ + if (Fw[b].real > lmax) { + lmax = Fw[b].real; + lmax_bin = b; + } + + if (lmax > thresh) + if ((lmax > Fw[lmax_bin-1].real) && (lmax > Fw[lmax_bin+1].real)) { + cmax_bin = lmax_bin; + } + + mult++; + } + + best_f0 = (float)cmax_bin*SAMPLE_RATE/(PE_FFT_SIZE*DEC); + + return best_f0; +} + +/*---------------------------------------------------------------------------*\ + + post_process_mbe() + + Use the MBE pitch estimation algorithm to evaluate pitch candidates. This + works OK but the accuracy at low F0 is affected by NW, the analysis window + size used for the DFT of the input speech Sw[]. Also favours high F0 in + the presence of background noise which causes periodic artifacts in the + synthesised speech. + +\*---------------------------------------------------------------------------*/ + +float post_process_mbe(COMP Fw[], int pmin, int pmax, float gmax, COMP Sw[], COMP W[], float *prev_Wo) +{ + float candidate_f0; + float f0,best_f0; /* fundamental frequency */ + float e,e_min; /* MBE cost function */ + int i; + #ifdef DUMP + float e_hz[F0_MAX]; + #endif + #if !defined(NDEBUG) || defined(DUMP) + int bin; + #endif + float f0_min, f0_max; + float f0_start, f0_end; + + f0_min = (float)SAMPLE_RATE/pmax; + f0_max = (float)SAMPLE_RATE/pmin; + + /* Now look for local maxima. Each local maxima is a candidate + that we test using the MBE pitch estimation algotithm */ + + #ifdef DUMP + for(i=0; i Fw[i-1].real) && (Fw[i].real > Fw[i+1].real)) { + + /* local maxima found, lets test if it's big enough */ + + if (Fw[i].real > T*gmax) { + + /* OK, sample MBE cost function over +/- 10Hz range in 2.5Hz steps */ + + candidate_f0 = (float)i*SAMPLE_RATE/(PE_FFT_SIZE*DEC); + f0_start = candidate_f0-20; + f0_end = candidate_f0+20; + if (f0_start < f0_min) f0_start = f0_min; + if (f0_end > f0_max) f0_end = f0_max; + + for(f0=f0_start; f0<=f0_end; f0+= 2.5) { + e = test_candidate_mbe(Sw, W, f0); + #if !defined(NDEBUG) || defined(DUMP) + bin = floor(f0); assert((bin > 0) && (bin < F0_MAX)); + #endif + #ifdef DUMP + e_hz[bin] = e; + #endif + if (e < e_min) { + e_min = e; + best_f0 = f0; + } + } + + } + } + } + + /* finally sample MBE cost function around previous pitch estimate + (form of pitch tracking) */ + + candidate_f0 = *prev_Wo * SAMPLE_RATE/TWO_PI; + f0_start = candidate_f0-20; + f0_end = candidate_f0+20; + if (f0_start < f0_min) f0_start = f0_min; + if (f0_end > f0_max) f0_end = f0_max; + + for(f0=f0_start; f0<=f0_end; f0+= 2.5) { + e = test_candidate_mbe(Sw, W, f0); + #if !defined(NDEBUG) || defined(DUMP) + bin = floor(f0); assert((bin > 0) && (bin < F0_MAX)); + #endif + #ifdef DUMP + e_hz[bin] = e; + #endif + if (e < e_min) { + e_min = e; + best_f0 = f0; + } + } + + #ifdef DUMP + dump_e(e_hz); + #endif + + return best_f0; +} + +/*---------------------------------------------------------------------------*\ + + test_candidate_mbe() + + Returns the error of the MBE cost function for the input f0. + + Note: I think a lot of the operations below can be simplified as + W[].imag = 0 and has been normalised such that den always equals 1. + +\*---------------------------------------------------------------------------*/ + +float test_candidate_mbe( + COMP Sw[], + COMP W[], + float f0 +) +{ + COMP Sw_[FFT_ENC]; /* DFT of all voiced synthesised signal */ + int l,al,bl,m; /* loop variables */ + COMP Am; /* amplitude sample for this band */ + int offset; /* centers Hw[] about current harmonic */ + float den; /* denominator of Am expression */ + float error; /* accumulated error between originl and synthesised */ + float Wo; /* current "test" fundamental freq. */ + int L; + + L = floor((SAMPLE_RATE/2.0)/f0); + Wo = f0*(2*PI/SAMPLE_RATE); + + error = 0.0; + + /* Just test across the harmonics in the first 1000 Hz (L/4) */ + + for(l=1; l. +*/ + +#ifndef __NLP__ +#define __NLP__ + +#include "comp.h" + +void *nlp_create(int m); +void nlp_destroy(void *nlp_state); +float nlp(void *nlp_state, float Sn[], int n, int pmin, int pmax, + float *pitch, COMP Sw[], COMP W[], float *prev_Wo); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/os.h b/DSP_API/CODEC2_FREEDV/os.h new file mode 100644 index 0000000..ee25028 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/os.h @@ -0,0 +1,53 @@ +/* Generate using fir1(47,1/2) in Octave */ + +const float fdmdv_os_filter[]= { + -0.0008215855034550382, + -0.0007833023901802921, + 0.001075563790768233, + 0.001199092367787555, + -0.001765309502928316, + -0.002055372115328064, + 0.002986877604154257, + 0.003462567920638414, + -0.004856570111126334, + -0.005563143845031497, + 0.007533613299748122, + 0.008563932468880897, + -0.01126857129039911, + -0.01280782411693687, + 0.01651443896361847, + 0.01894875110322284, + -0.02421604439474981, + -0.02845107338464062, + 0.03672973563400258, + 0.04542046150312214, + -0.06189165826716491, + -0.08721876380763803, + 0.1496157094199961, + 0.4497962274137046, + 0.4497962274137046, + 0.1496157094199961, + -0.08721876380763803, + -0.0618916582671649, + 0.04542046150312216, + 0.03672973563400257, + -0.02845107338464062, + -0.02421604439474984, + 0.01894875110322284, + 0.01651443896361848, + -0.01280782411693687, + -0.0112685712903991, + 0.008563932468880899, + 0.007533613299748123, + -0.005563143845031501, + -0.004856570111126346, + 0.003462567920638419, + 0.002986877604154259, + -0.002055372115328063, + -0.001765309502928318, + 0.001199092367787557, + 0.001075563790768233, + -0.0007833023901802925, + -0.0008215855034550383 +}; + diff --git a/DSP_API/CODEC2_FREEDV/pack.c b/DSP_API/CODEC2_FREEDV/pack.c new file mode 100644 index 0000000..b062564 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/pack.c @@ -0,0 +1,140 @@ +/* + Copyright (C) 2010 Perens LLC + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include "defines.h" +#include "quantise.h" +#include + +/* Compile-time constants */ +/* Size of unsigned char in bits. Assumes 8 bits-per-char. */ +static const unsigned int WordSize = 8; + +/* Mask to pick the bit component out of bitIndex. */ +static const unsigned int IndexMask = 0x7; + +/* Used to pick the word component out of bitIndex. */ +static const unsigned int ShiftRight = 3; + +/** Pack a bit field into a bit string, encoding the field in Gray code. + * + * The output is an array of unsigned char data. The fields are efficiently + * packed into the bit string. The Gray coding is a naive attempt to reduce + * the effect of single-bit errors, we expect to do a better job as the + * codec develops. + * + * This code would be simpler if it just set one bit at a time in the string, + * but would hit the same cache line more often. I'm not sure the complexity + * gains us anything here. + * + * Although field is currently of int type rather than unsigned for + * compatibility with the rest of the code, indices are always expected to + * be >= 0. + */ +void +pack( + unsigned char * bitArray, /* The output bit string. */ + unsigned int * bitIndex, /* Index into the string in BITS, not bytes.*/ + int field, /* The bit field to be packed. */ + unsigned int fieldWidth/* Width of the field in BITS, not bytes. */ + ) +{ + pack_natural_or_gray(bitArray, bitIndex, field, fieldWidth, 1); +} + +void +pack_natural_or_gray( + unsigned char * bitArray, /* The output bit string. */ + unsigned int * bitIndex, /* Index into the string in BITS, not bytes.*/ + int field, /* The bit field to be packed. */ + unsigned int fieldWidth,/* Width of the field in BITS, not bytes. */ + unsigned int gray /* non-zero for gray coding */ + ) +{ + if (gray) { + /* Convert the field to Gray code */ + field = (field >> 1) ^ field; + } + + do { + unsigned int bI = *bitIndex; + unsigned int bitsLeft = WordSize - (bI & IndexMask); + unsigned int sliceWidth = + bitsLeft < fieldWidth ? bitsLeft : fieldWidth; + unsigned int wordIndex = bI >> ShiftRight; + + bitArray[wordIndex] |= + ((unsigned char)((field >> (fieldWidth - sliceWidth)) + << (bitsLeft - sliceWidth))); + + *bitIndex = bI + sliceWidth; + fieldWidth -= sliceWidth; + } while ( fieldWidth != 0 ); +} + +/** Unpack a field from a bit string, converting from Gray code to binary. + * + */ +int +unpack( + const unsigned char * bitArray, /* The input bit string. */ + unsigned int * bitIndex, /* Index into the string in BITS, not bytes.*/ + unsigned int fieldWidth/* Width of the field in BITS, not bytes. */ + ) +{ + return unpack_natural_or_gray(bitArray, bitIndex, fieldWidth, 1); +} + +/** Unpack a field from a bit string, to binary, optionally using + * natural or Gray code. + * + */ +int +unpack_natural_or_gray( + const unsigned char * bitArray, /* The input bit string. */ + unsigned int * bitIndex, /* Index into the string in BITS, not bytes.*/ + unsigned int fieldWidth,/* Width of the field in BITS, not bytes. */ + unsigned int gray /* non-zero for Gray coding */ + ) +{ + unsigned int field = 0; + unsigned int t; + + do { + unsigned int bI = *bitIndex; + unsigned int bitsLeft = WordSize - (bI & IndexMask); + unsigned int sliceWidth = + bitsLeft < fieldWidth ? bitsLeft : fieldWidth; + + field |= (((bitArray[bI >> ShiftRight] >> (bitsLeft - sliceWidth)) & ((1 << sliceWidth) - 1)) << (fieldWidth - sliceWidth)); + + *bitIndex = bI + sliceWidth; + fieldWidth -= sliceWidth; + } while ( fieldWidth != 0 ); + + if (gray) { + /* Convert from Gray code to binary. Works for maximum 8-bit fields. */ + t = field ^ (field >> 8); + t ^= (t >> 4); + t ^= (t >> 2); + t ^= (t >> 1); + } + else { + t = field; + } + + return t; +} diff --git a/DSP_API/CODEC2_FREEDV/phase.c b/DSP_API/CODEC2_FREEDV/phase.c new file mode 100644 index 0000000..08a2cf4 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/phase.c @@ -0,0 +1,199 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: phase.c + AUTHOR......: David Rowe + DATE CREATED: 1/2/09 + + Functions for modelling and synthesising phase. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not,see . +*/ + +#include "defines.h" +#include "phase.h" +#include "kiss_fft.h" +#include "comp.h" +#include "sine.h" + +#include +#include +#include +#include +#include + + +/*---------------------------------------------------------------------------*\ + + phase_synth_zero_order() + + Synthesises phases based on SNR and a rule based approach. No phase + parameters are required apart from the SNR (which can be reduced to a + 1 bit V/UV decision per frame). + + The phase of each harmonic is modelled as the phase of a LPC + synthesis filter excited by an impulse. Unlike the first order + model the position of the impulse is not transmitted, so we create + an excitation pulse train using a rule based approach. + + Consider a pulse train with a pulse starting time n=0, with pulses + repeated at a rate of Wo, the fundamental frequency. A pulse train + in the time domain is equivalent to harmonics in the frequency + domain. We can make an excitation pulse train using a sum of + sinsusoids: + + for(m=1; m<=L; m++) + ex[n] = cos(m*Wo*n) + + Note: the Octave script ../octave/phase.m is an example of this if + you would like to try making a pulse train. + + The phase of each excitation harmonic is: + + arg(E[m]) = mWo + + where E[m] are the complex excitation (freq domain) samples, + arg(x), just returns the phase of a complex sample x. + + As we don't transmit the pulse position for this model, we need to + synthesise it. Now the excitation pulses occur at a rate of Wo. + This means the phase of the first harmonic advances by N samples + over a synthesis frame of N samples. For example if Wo is pi/20 + (200 Hz), then over a 10ms frame (N=80 samples), the phase of the + first harmonic would advance (pi/20)*80 = 4*pi or two complete + cycles. + + We generate the excitation phase of the fundamental (first + harmonic): + + arg[E[1]] = Wo*N; + + We then relate the phase of the m-th excitation harmonic to the + phase of the fundamental as: + + arg(E[m]) = m*arg(E[1]) + + This E[m] then gets passed through the LPC synthesis filter to + determine the final harmonic phase. + + Comparing to speech synthesised using original phases: + + - Through headphones speech synthesised with this model is not as + good. Through a loudspeaker it is very close to original phases. + + - If there are voicing errors, the speech can sound clicky or + staticy. If V speech is mistakenly declared UV, this model tends to + synthesise impulses or clicks, as there is usually very little shift or + dispersion through the LPC filter. + + - When combined with LPC amplitude modelling there is an additional + drop in quality. I am not sure why, theory is interformant energy + is raised making any phase errors more obvious. + + NOTES: + + 1/ This synthesis model is effectively the same as a simple LPC-10 + vocoders, and yet sounds much better. Why? Conventional wisdom + (AMBE, MELP) says mixed voicing is required for high quality + speech. + + 2/ I am pretty sure the Lincoln Lab sinusoidal coding guys (like xMBE + also from MIT) first described this zero phase model, I need to look + up the paper. + + 3/ Note that this approach could cause some discontinuities in + the phase at the edge of synthesis frames, as no attempt is made + to make sure that the phase tracks are continuous (the excitation + phases are continuous, but not the final phases after filtering + by the LPC spectra). Technically this is a bad thing. However + this may actually be a good thing, disturbing the phase tracks a + bit. More research needed, e.g. test a synthesis model that adds + a small delta-W to make phase tracks line up for voiced + harmonics. + +\*---------------------------------------------------------------------------*/ + +void phase_synth_zero_order( + kiss_fft_cfg fft_fwd_cfg, + MODEL *model, + float *ex_phase, /* excitation phase of fundamental */ + COMP A[] +) +{ + int m, b; + float phi_, new_phi, r; + COMP Ex[MAX_AMP+1]; /* excitation samples */ + COMP A_[MAX_AMP+1]; /* synthesised harmonic samples */ + COMP H[MAX_AMP+1]; /* LPC freq domain samples */ + + r = TWO_PI/(FFT_ENC); + + /* Sample phase at harmonics */ + + for(m=1; m<=model->L; m++) { + b = (int)(m*model->Wo/r + 0.5); + phi_ = -atan2f(A[b].imag, A[b].real); + H[m].real = cosf(phi_); + H[m].imag = sinf(phi_); + } + + /* + Update excitation fundamental phase track, this sets the position + of each pitch pulse during voiced speech. After much experiment + I found that using just this frame's Wo improved quality for UV + sounds compared to interpolating two frames Wo like this: + + ex_phase[0] += (*prev_Wo+model->Wo)*N/2; + */ + + ex_phase[0] += (model->Wo)*N; + ex_phase[0] -= TWO_PI*floorf(ex_phase[0]/TWO_PI + 0.5); + + for(m=1; m<=model->L; m++) { + + /* generate excitation */ + + if (model->voiced) { + + Ex[m].real = cosf(ex_phase[0]*m); + Ex[m].imag = sinf(ex_phase[0]*m); + } + else { + + /* When a few samples were tested I found that LPC filter + phase is not needed in the unvoiced case, but no harm in + keeping it. + */ + float phi = TWO_PI*(float)codec2_rand()/CODEC2_RAND_MAX; + Ex[m].real = cosf(phi); + Ex[m].imag = sinf(phi); + } + + /* filter using LPC filter */ + + A_[m].real = H[m].real*Ex[m].real - H[m].imag*Ex[m].imag; + A_[m].imag = H[m].imag*Ex[m].real + H[m].real*Ex[m].imag; + + /* modify sinusoidal phase */ + + new_phi = atan2f(A_[m].imag, A_[m].real+1E-12); + model->phi[m] = new_phi; + } + +} + diff --git a/DSP_API/CODEC2_FREEDV/phase.h b/DSP_API/CODEC2_FREEDV/phase.h new file mode 100644 index 0000000..03e1c50 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/phase.h @@ -0,0 +1,39 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: phase.h + AUTHOR......: David Rowe + DATE CREATED: 1/2/09 + + Functions for modelling phase. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __PHASE__ +#define __PHASE__ + +#include "kiss_fft.h" +#include "comp.h" + +void phase_synth_zero_order(kiss_fft_cfg fft_dec_cfg, + MODEL *model, + float *ex_phase, + COMP A[]); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/pilot_coeff.h b/DSP_API/CODEC2_FREEDV/pilot_coeff.h new file mode 100644 index 0000000..b284af9 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/pilot_coeff.h @@ -0,0 +1,34 @@ +/* Generated by pilot_coeff_file() Octave function */ + +const float pilot_coeff[]={ + 0.00223001, + 0.00301037, + 0.00471258, + 0.0075934, + 0.0118145, + 0.0174153, + 0.0242969, + 0.0322204, + 0.0408199, + 0.0496286, + 0.0581172, + 0.0657392, + 0.0719806, + 0.0764066, + 0.0787022, + 0.0787022, + 0.0764066, + 0.0719806, + 0.0657392, + 0.0581172, + 0.0496286, + 0.0408199, + 0.0322204, + 0.0242969, + 0.0174153, + 0.0118145, + 0.0075934, + 0.00471258, + 0.00301037, + 0.00223001 +}; diff --git a/DSP_API/CODEC2_FREEDV/postfilter.c b/DSP_API/CODEC2_FREEDV/postfilter.c new file mode 100644 index 0000000..f347658 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/postfilter.c @@ -0,0 +1,142 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: postfilter.c + AUTHOR......: David Rowe + DATE CREATED: 13/09/09 + + Postfilter to improve sound quality for speech with high levels of + background noise. Unlike mixed-excitation models requires no bits + to be transmitted to handle background noise. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include + +#include "defines.h" +#include "comp.h" +#include "dump.h" +#include "sine.h" +#include "postfilter.h" + +/*---------------------------------------------------------------------------*\ + + DEFINES + +\*---------------------------------------------------------------------------*/ + +#define BG_THRESH 40.0 /* only consider low levels signals for bg_est */ +#define BG_BETA 0.1 /* averaging filter constant */ +#define BG_MARGIN 6.0 /* harmonics this far above BG noise are + randomised. Helped make bg noise less + spikey (impulsive) for mmt1, but speech was + perhaps a little rougher. + */ + +/*---------------------------------------------------------------------------*\ + + postfilter() + + The post filter is designed to help with speech corrupted by + background noise. The zero phase model tends to make speech with + background noise sound "clicky". With high levels of background + noise the low level inter-formant parts of the spectrum will contain + noise rather than speech harmonics, so modelling them as voiced + (i.e. a continuous, non-random phase track) is inaccurate. + + Some codecs (like MBE) have a mixed voicing model that breaks the + spectrum into voiced and unvoiced regions. Several bits/frame + (5-12) are required to transmit the frequency selective voicing + information. Mixed excitation also requires accurate voicing + estimation (parameter estimators always break occasionally under + exceptional conditions). + + In our case we use a post filter approach which requires no + additional bits to be transmitted. The decoder measures the average + level of the background noise during unvoiced frames. If a harmonic + is less than this level it is made unvoiced by randomising it's + phases. + + This idea is rather experimental. Some potential problems that may + happen: + + 1/ If someone says "aaaaaaaahhhhhhhhh" will background estimator track + up to speech level? This would be a bad thing. + + 2/ If background noise suddenly dissapears from the source speech does + estimate drop quickly? What is noise suddenly re-appears? + + 3/ Background noise with a non-flat sepctrum. Current algorithm just + comsiders scpetrum as a whole, but this could be broken up into + bands, each with their own estimator. + + 4/ Males and females with the same level of background noise. Check + performance the same. Changing Wo affects width of each band, may + affect bg energy estimates. + + 5/ Not sure what happens during long periods of voiced speech + e.g. "sshhhhhhh" + +\*---------------------------------------------------------------------------*/ + +void postfilter( + MODEL *model, + float *bg_est +) +{ + int m, uv; + float e, thresh; + + /* determine average energy across spectrum */ + + e = 1E-12; + for(m=1; m<=model->L; m++) + e += model->A[m]*model->A[m]; + + assert(e > 0.0); + e = 10.0*log10f(e/model->L); + + /* If beneath threhold, update bg estimate. The idea + of the threshold is to prevent updating during high level + speech. */ + + if ((e < BG_THRESH) && !model->voiced) + *bg_est = *bg_est*(1.0 - BG_BETA) + e*BG_BETA; + + /* now mess with phases during voiced frames to make any harmonics + less then our background estimate unvoiced. + */ + + uv = 0; + thresh = powf(10.0, (*bg_est + BG_MARGIN)/20.0); + if (model->voiced) + for(m=1; m<=model->L; m++) + if (model->A[m] < thresh) { + model->phi[m] = TWO_PI*(float)codec2_rand()/CODEC2_RAND_MAX; + uv++; + } + +#ifdef DUMP + dump_bg(e, *bg_est, 100.0*uv/model->L); +#endif + +} diff --git a/DSP_API/CODEC2_FREEDV/postfilter.h b/DSP_API/CODEC2_FREEDV/postfilter.h new file mode 100644 index 0000000..bf080b1 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/postfilter.h @@ -0,0 +1,33 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: postfilter.h + AUTHOR......: David Rowe + DATE CREATED: 13/09/09 + + Postfilter header file. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __POSTFILTER__ +#define __POSTFILTER__ + +void postfilter(MODEL *model, float *bg_est); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/quantise.c b/DSP_API/CODEC2_FREEDV/quantise.c new file mode 100644 index 0000000..23f2660 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/quantise.c @@ -0,0 +1,1946 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: quantise.c + AUTHOR......: David Rowe + DATE CREATED: 31/5/92 + + Quantisation functions for the sinusoidal coder. + +\*---------------------------------------------------------------------------*/ + +/* + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . + +*/ + +#include +#include +#include +#include +#include +#include + +#include "defines.h" +#include "dump.h" +#include "quantise.h" +#include "lpc.h" +#include "lsp.h" +#include "kiss_fft.h" +#undef PROFILE +#include "machdep.h" + +#define LSP_DELTA1 0.01 /* grid spacing for LSP root searches */ + +/*---------------------------------------------------------------------------*\ + + FUNCTION HEADERS + +\*---------------------------------------------------------------------------*/ + +float speech_to_uq_lsps(float lsp[], float ak[], float Sn[], float w[], + int order); + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +int lsp_bits(int i) { + return lsp_cb[i].log2m; +} + +int lspd_bits(int i) { + return lsp_cbd[i].log2m; +} + +#ifdef __EXPERIMENTAL__ +int lspdt_bits(int i) { + return lsp_cbdt[i].log2m; +} +#endif + +int lsp_pred_vq_bits(int i) { + return lsp_cbjvm[i].log2m; +} + +/*---------------------------------------------------------------------------*\ + + quantise_init + + Loads the entire LSP quantiser comprised of several vector quantisers + (codebooks). + +\*---------------------------------------------------------------------------*/ + +void quantise_init() +{ +} + +/*---------------------------------------------------------------------------*\ + + quantise + + Quantises vec by choosing the nearest vector in codebook cb, and + returns the vector index. The squared error of the quantised vector + is added to se. + +\*---------------------------------------------------------------------------*/ + +long quantise(const float * cb, float vec[], float w[], int k, int m, float *se) +/* float cb[][K]; current VQ codebook */ +/* float vec[]; vector to quantise */ +/* float w[]; weighting vector */ +/* int k; dimension of vectors */ +/* int m; size of codebook */ +/* float *se; accumulated squared error */ +{ + float e; /* current error */ + long besti; /* best index so far */ + float beste; /* best error so far */ + long j; + int i; + float diff; + + besti = 0; + beste = 1E32; + for(j=0; j 0); + mbest = (struct MBEST *)malloc(sizeof(struct MBEST)); + assert(mbest != NULL); + + mbest->entries = entries; + mbest->list = (struct MBEST_LIST *)malloc(entries*sizeof(struct MBEST_LIST)); + assert(mbest->list != NULL); + + for(i=0; ientries; i++) { + for(j=0; jlist[i].index[j] = 0; + mbest->list[i].error = 1E32; + } + + return mbest; +} + + +static void mbest_destroy(struct MBEST *mbest) { + assert(mbest != NULL); + free(mbest->list); + free(mbest); +} + + +/*---------------------------------------------------------------------------*\ + + mbest_insert + + Insert the results of a vector to codebook entry comparison. The + list is ordered in order or error, so those entries with the + smallest error will be first on the list. + +\*---------------------------------------------------------------------------*/ + +static void mbest_insert(struct MBEST *mbest, int index[], float error) { + int i, j, found; + struct MBEST_LIST *list = mbest->list; + int entries = mbest->entries; + + found = 0; + for(i=0; ii; j--) + list[j] = list[j-1]; + for(j=0; jentries; i++) { + for(j=0; jlist[i].index[j]); + printf(" %f\n", mbest->list[i].error); + } +} + + +/*---------------------------------------------------------------------------*\ + + mbest_search + + Searches vec[] to a codebbook of vectors, and maintains a list of the mbest + closest matches. + +\*---------------------------------------------------------------------------*/ + +static void mbest_search( + const float *cb, /* VQ codebook to search */ + float vec[], /* target vector */ + float w[], /* weighting vector */ + int k, /* dimension of vector */ + int m, /* number on entries in codebook */ + struct MBEST *mbest, /* list of closest matches */ + int index[] /* indexes that lead us here */ +) +{ + float e; + int i,j; + float diff; + + for(j=0; jlist[j].index[0]; + for(i=0; ilist[j].index[1]; + index[1] = n2 = mbest_stage2->list[j].index[0]; + for(i=0; ilist[j].index[2]; + index[2] = n2 = mbest_stage3->list[j].index[1]; + index[1] = n3 = mbest_stage3->list[j].index[0]; + for(i=0; ilist[0].index[3]; + n2 = mbest_stage4->list[0].index[2]; + n3 = mbest_stage4->list[0].index[1]; + n4 = mbest_stage4->list[0].index[0]; + for (i=0;i max_Rw) + max_Rw = Rw[i]; + if (Rw[i] < min_Rw) + min_Rw = Rw[i]; + + } + + PROFILE_SAMPLE_AND_LOG(tr, tww, " R"); + + #ifdef DUMP + if (dump) + dump_Rw(Rw); + #endif + + /* create post filter mag spectrum and apply ------------------*/ + + /* measure energy before post filtering */ + + e_before = 1E-4; + for(i=0; iL; m++) { + am = (int)((m - 0.5)*model->Wo/r + 0.5); + bm = (int)((m + 0.5)*model->Wo/r + 0.5); + Em = 0.0; + + for(i=am; iA[m]*model->A[m]; + noise += (model->A[m] - Am)*(model->A[m] - Am); + + /* This code significantly improves perf of LPC model, in + particular when combined with phase0. The LPC spectrum tends + to track just under the peaks of the spectral envelope, and + just above nulls. This algorithm does the reverse to + compensate - raising the amplitudes of spectral peaks, while + attenuating the null. This enhances the formants, and + supresses the energy between formants. */ + + if (sim_pf) { + if (Am > model->A[m]) + Am *= 0.7; + if (Am < model->A[m]) + Am *= 1.4; + } + + model->A[m] = Am; + } + *snr = 10.0*log10f(signal/noise); + + PROFILE_SAMPLE_AND_LOG2(tpf, " rec"); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: encode_Wo() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Encodes Wo using a WO_LEVELS quantiser. + +\*---------------------------------------------------------------------------*/ + +int encode_Wo(float Wo) +{ + int index; + float Wo_min = TWO_PI/P_MAX; + float Wo_max = TWO_PI/P_MIN; + float norm; + + norm = (Wo - Wo_min)/(Wo_max - Wo_min); + index = floorf(WO_LEVELS * norm + 0.5); + if (index < 0 ) index = 0; + if (index > (WO_LEVELS-1)) index = WO_LEVELS-1; + + return index; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: decode_Wo() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Decodes Wo using a WO_LEVELS quantiser. + +\*---------------------------------------------------------------------------*/ + +float decode_Wo(int index) +{ + float Wo_min = TWO_PI/P_MAX; + float Wo_max = TWO_PI/P_MIN; + float step; + float Wo; + + step = (Wo_max - Wo_min)/WO_LEVELS; + Wo = Wo_min + step*(index); + + return Wo; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: encode_Wo_dt() + AUTHOR......: David Rowe + DATE CREATED: 6 Nov 2011 + + Encodes Wo difference from last frame. + +\*---------------------------------------------------------------------------*/ + +int encode_Wo_dt(float Wo, float prev_Wo) +{ + int index, mask, max_index, min_index; + float Wo_min = TWO_PI/P_MAX; + float Wo_max = TWO_PI/P_MIN; + float norm; + + norm = (Wo - prev_Wo)/(Wo_max - Wo_min); + index = floor(WO_LEVELS * norm + 0.5); + //printf("ENC index: %d ", index); + + /* hard limit */ + + max_index = (1 << (WO_DT_BITS-1)) - 1; + min_index = - (max_index+1); + if (index > max_index) index = max_index; + if (index < min_index) index = min_index; + //printf("max_index: %d min_index: %d hard index: %d ", + // max_index, min_index, index); + + /* mask so that only LSB WO_DT_BITS remain, bit WO_DT_BITS is the sign bit */ + + mask = ((1 << WO_DT_BITS) - 1); + index &= mask; + //printf("mask: 0x%x index: 0x%x\n", mask, index); + + return index; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: decode_Wo_dt() + AUTHOR......: David Rowe + DATE CREATED: 6 Nov 2011 + + Decodes Wo using WO_DT_BITS difference from last frame. + +\*---------------------------------------------------------------------------*/ + +float decode_Wo_dt(int index, float prev_Wo) +{ + float Wo_min = TWO_PI/P_MAX; + float Wo_max = TWO_PI/P_MIN; + float step; + float Wo; + int mask; + + /* sign extend index */ + + //printf("DEC index: %d "); + if (index & (1 << (WO_DT_BITS-1))) { + mask = ~((1 << WO_DT_BITS) - 1); + index |= mask; + } + //printf("DEC mask: 0x%x index: %d \n", mask, index); + + step = (Wo_max - Wo_min)/WO_LEVELS; + Wo = prev_Wo + step*(index); + + /* bit errors can make us go out of range leading to all sorts of + probs like seg faults */ + + if (Wo > Wo_max) Wo = Wo_max; + if (Wo < Wo_min) Wo = Wo_min; + + return Wo; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: speech_to_uq_lsps() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Analyse a windowed frame of time domain speech to determine LPCs + which are the converted to LSPs for quantisation and transmission + over the channel. + +\*---------------------------------------------------------------------------*/ + +float speech_to_uq_lsps(float lsp[], + float ak[], + float Sn[], + float w[], + int order +) +{ + int i, roots; + float Wn[M]; + float R[order+1]; + float e, E; + + e = 0.0; + for(i=0; iWo < (PI*150.0/4000)) { + model->A[1] *= 0.032; + } +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: encode_energy() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Encodes LPC energy using an E_LEVELS quantiser. + +\*---------------------------------------------------------------------------*/ + +int encode_energy(float e) +{ + int index; + float e_min = E_MIN_DB; + float e_max = E_MAX_DB; + float norm; + + e = 10.0*log10f(e); + norm = (e - e_min)/(e_max - e_min); + index = floorf(E_LEVELS * norm + 0.5); + if (index < 0 ) index = 0; + if (index > (E_LEVELS-1)) index = E_LEVELS-1; + + return index; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: decode_energy() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Decodes energy using a E_LEVELS quantiser. + +\*---------------------------------------------------------------------------*/ + +float decode_energy(int index) +{ + float e_min = E_MIN_DB; + float e_max = E_MAX_DB; + float step; + float e; + + step = (e_max - e_min)/E_LEVELS; + e = e_min + step*(index); + e = powf(10.0,e/10.0); + + return e; +} + +#ifdef NOT_USED +/*---------------------------------------------------------------------------*\ + + FUNCTION....: decode_amplitudes() + AUTHOR......: David Rowe + DATE CREATED: 22/8/2010 + + Given the amplitude quantiser indexes recovers the harmonic + amplitudes. + +\*---------------------------------------------------------------------------*/ + +float decode_amplitudes(kiss_fft_cfg fft_fwd_cfg, + MODEL *model, + float ak[], + int lsp_indexes[], + int energy_index, + float lsps[], + float *e +) +{ + float snr; + + decode_lsps_scalar(lsps, lsp_indexes, LPC_ORD); + bw_expand_lsps(lsps, LPC_ORD); + lsp_to_lpc(lsps, ak, LPC_ORD); + *e = decode_energy(energy_index); + aks_to_M2(ak, LPC_ORD, model, *e, &snr, 1, 0, 0, 1); + apply_lpc_correction(model); + + return snr; +} +#endif + +static float ge_coeff[2] = {0.8, 0.9}; + +void compute_weights2(const float *x, const float *xp, float *w) +{ + w[0] = 30; + w[1] = 1; + if (x[1]<0) + { + w[0] *= .6; + w[1] *= .3; + } + if (x[1]<-10) + { + w[0] *= .3; + w[1] *= .3; + } + /* Higher weight if pitch is stable */ + if (fabsf(x[0]-xp[0])<.2) + { + w[0] *= 2; + w[1] *= 1.5; + } else if (fabsf(x[0]-xp[0])>.5) /* Lower if not stable */ + { + w[0] *= .5; + } + + /* Lower weight for low energy */ + if (x[1] < xp[1]-10) + { + w[1] *= .5; + } + if (x[1] < xp[1]-20) + { + w[1] *= .5; + } + + //w[0] = 30; + //w[1] = 1; + + /* Square the weights because it's applied on the squared error */ + w[0] *= w[0]; + w[1] *= w[1]; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: quantise_WoE() + AUTHOR......: Jean-Marc Valin & David Rowe + DATE CREATED: 29 Feb 2012 + + Experimental joint Wo and LPC energy vector quantiser developed by + Jean-Marc Valin. Exploits correlations between the difference in + the log pitch and log energy from frame to frame. For example + both the pitch and energy tend to only change by small amounts + during voiced speech, however it is important that these changes be + coded carefully. During unvoiced speech they both change a lot but + the ear is less sensitve to errors so coarser quantisation is OK. + + The ear is sensitive to log energy and loq pitch so we quantise in + these domains. That way the error measure used to quantise the + values is close to way the ear senses errors. + + See http://jmspeex.livejournal.com/10446.html + +\*---------------------------------------------------------------------------*/ + +void quantise_WoE(MODEL *model, float *e, float xq[]) +{ + int i, n1; + float x[2]; + float err[2]; + float w[2]; + const float *codebook1 = ge_cb[0].cb; + int nb_entries = ge_cb[0].m; + int ndim = ge_cb[0].k; + float Wo_min = TWO_PI/P_MAX; + float Wo_max = TWO_PI/P_MIN; + + x[0] = log10f((model->Wo/PI)*4000.0/50.0)/log10f(2); + x[1] = 10.0*log10f(1e-4 + *e); + + compute_weights2(x, xq, w); + for (i=0;iWo = powf(2.0, xq[0])*(PI*50.0)/4000.0; + + /* bit errors can make us go out of range leading to all sorts of + probs like seg faults */ + + if (model->Wo > Wo_max) model->Wo = Wo_max; + if (model->Wo < Wo_min) model->Wo = Wo_min; + + model->L = PI/model->Wo; /* if we quantise Wo re-compute L */ + + *e = powf(10.0, xq[1]/10.0); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: encode_WoE() + AUTHOR......: Jean-Marc Valin & David Rowe + DATE CREATED: 11 May 2012 + + Joint Wo and LPC energy vector quantiser developed my Jean-Marc + Valin. Returns index, and updated states xq[]. + +\*---------------------------------------------------------------------------*/ + +int encode_WoE(MODEL *model, float e, float xq[]) +{ + int i, n1; + float x[2]; + float err[2]; + float w[2]; + const float *codebook1 = ge_cb[0].cb; + int nb_entries = ge_cb[0].m; + int ndim = ge_cb[0].k; + + assert((1<Wo/PI)*4000.0/50.0)/log10f(2); + x[1] = 10.0*log10f(1e-4 + e); + + compute_weights2(x, xq, w); + for (i=0;iWo = powf(2.0, xq[0])*(PI*50.0)/4000.0; + + /* bit errors can make us go out of range leading to all sorts of + probs like seg faults */ + + if (model->Wo > Wo_max) model->Wo = Wo_max; + if (model->Wo < Wo_min) model->Wo = Wo_min; + + model->L = PI/model->Wo; /* if we quantise Wo re-compute L */ + + *e = powf(10.0, xq[1]/10.0); +} + diff --git a/DSP_API/CODEC2_FREEDV/quantise.h b/DSP_API/CODEC2_FREEDV/quantise.h new file mode 100644 index 0000000..d714106 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/quantise.h @@ -0,0 +1,127 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: quantise.h + AUTHOR......: David Rowe + DATE CREATED: 31/5/92 + + Quantisation functions for the sinusoidal coder. + +\*---------------------------------------------------------------------------*/ + +/* + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __QUANTISE__ +#define __QUANTISE__ + +#include "kiss_fft.h" +#include "comp.h" + +#define WO_BITS 7 +#define WO_LEVELS (1<. +*/ + +/*---------------------------------------------------------------------------*\ + + INCLUDES + +\*---------------------------------------------------------------------------*/ + +#include +#include +#include + +#include "defines.h" +#include "sine.h" +#include "kiss_fft.h" + +#define HPF_BETA 0.125 + +/*---------------------------------------------------------------------------*\ + + HEADERS + +\*---------------------------------------------------------------------------*/ + +void hs_pitch_refinement(MODEL *model, COMP Sw[], float pmin, float pmax, + float pstep); + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: make_analysis_window + AUTHOR......: David Rowe + DATE CREATED: 11/5/94 + + Init function that generates the time domain analysis window and it's DFT. + +\*---------------------------------------------------------------------------*/ + +void make_analysis_window(kiss_fft_cfg fft_fwd_cfg, float w[], COMP W[]) +{ + float m; + COMP wshift[FFT_ENC]; + COMP temp; + int i,j; + + /* + Generate Hamming window centered on M-sample pitch analysis window + + 0 M/2 M-1 + |-------------|-------------| + |-------|-------| + NW samples + + All our analysis/synthsis is centred on the M/2 sample. + */ + + m = 0.0; + for(i=0; iWo + 5; + pmin = TWO_PI/model->Wo - 5; + pstep = 1.0; + hs_pitch_refinement(model,Sw,pmin,pmax,pstep); + + /* Fine refinement */ + + pmax = TWO_PI/model->Wo + 1; + pmin = TWO_PI/model->Wo - 1; + pstep = 0.25; + hs_pitch_refinement(model,Sw,pmin,pmax,pstep); + + /* Limit range */ + + if (model->Wo < TWO_PI/P_MAX) + model->Wo = TWO_PI/P_MAX; + if (model->Wo > TWO_PI/P_MIN) + model->Wo = TWO_PI/P_MIN; + + model->L = floor(PI/model->Wo); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: hs_pitch_refinement + AUTHOR......: David Rowe + DATE CREATED: 27/5/94 + + Harmonic sum pitch refinement function. + + pmin pitch search range minimum + pmax pitch search range maximum + step pitch search step size + model current pitch estimate in model.Wo + + model refined pitch estimate in model.Wo + +\*---------------------------------------------------------------------------*/ + +void hs_pitch_refinement(MODEL *model, COMP Sw[], float pmin, float pmax, float pstep) +{ + int m; /* loop variable */ + int b; /* bin for current harmonic centre */ + float E; /* energy for current pitch*/ + float Wo; /* current "test" fundamental freq. */ + float Wom; /* Wo that maximises E */ + float Em; /* mamimum energy */ + float r, one_on_r; /* number of rads/bin */ + float p; /* current pitch */ + + /* Initialisation */ + + model->L = PI/model->Wo; /* use initial pitch est. for L */ + Wom = model->Wo; + Em = 0.0; + r = TWO_PI/FFT_ENC; + one_on_r = 1.0/r; + + /* Determine harmonic sum for a range of Wo values */ + + for(p=pmin; p<=pmax; p+=pstep) { + E = 0.0; + Wo = TWO_PI/p; + + /* Sum harmonic magnitudes */ + for(m=1; m<=model->L; m++) { + b = (int)(m*Wo*one_on_r + 0.5); + E += Sw[b].real*Sw[b].real + Sw[b].imag*Sw[b].imag; + } + /* Compare to see if this is a maximum */ + + if (E > Em) { + Em = E; + Wom = Wo; + } + } + + model->Wo = Wom; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: estimate_amplitudes + AUTHOR......: David Rowe + DATE CREATED: 27/5/94 + + Estimates the complex amplitudes of the harmonics. + +\*---------------------------------------------------------------------------*/ + +void estimate_amplitudes(MODEL *model, COMP Sw[], COMP W[], int est_phase) +{ + int i,m; /* loop variables */ + int am,bm; /* bounds of current harmonic */ + int b; /* DFT bin of centre of current harmonic */ + float den; /* denominator of amplitude expression */ + float r, one_on_r; /* number of rads/bin */ + int offset; + COMP Am; + + r = TWO_PI/FFT_ENC; + one_on_r = 1.0/r; + + for(m=1; m<=model->L; m++) { + den = 0.0; + am = (int)((m - 0.5)*model->Wo*one_on_r + 0.5); + bm = (int)((m + 0.5)*model->Wo*one_on_r + 0.5); + b = (int)(m*model->Wo/r + 0.5); + + /* Estimate ampltude of harmonic */ + + den = 0.0; + Am.real = Am.imag = 0.0; + offset = FFT_ENC/2 - (int)(m*model->Wo*one_on_r + 0.5); + for(i=am; iA[m] = sqrtf(den); + + if (est_phase) { + + /* Estimate phase of harmonic, this is expensive in CPU for + embedded devicesso we make it an option */ + + model->phi[m] = atan2(Sw[b].imag,Sw[b].real); + } + } +} + +/*---------------------------------------------------------------------------*\ + + est_voicing_mbe() + + Returns the error of the MBE cost function for a fiven F0. + + Note: I think a lot of the operations below can be simplified as + W[].imag = 0 and has been normalised such that den always equals 1. + +\*---------------------------------------------------------------------------*/ + +float est_voicing_mbe( + MODEL *model, + COMP Sw[], + COMP W[], + COMP Sw_[], /* DFT of all voiced synthesised signal */ + /* useful for debugging/dump file */ + COMP Ew[]) /* DFT of error */ +{ + int i,l,al,bl,m; /* loop variables */ + COMP Am; /* amplitude sample for this band */ + int offset; /* centers Hw[] about current harmonic */ + float den; /* denominator of Am expression */ + float error; /* accumulated error between original and synthesised */ + float Wo; + float sig, snr; + float elow, ehigh, eratio; + float sixty; + + sig = 1E-4; + for(l=1; l<=model->L/4; l++) { + sig += model->A[l]*model->A[l]; + } + for(i=0; iWo; + error = 1E-4; + + /* Just test across the harmonics in the first 1000 Hz (L/4) */ + + for(l=1; l<=model->L/4; l++) { + Am.real = 0.0; + Am.imag = 0.0; + den = 0.0; + al = ceil((l - 0.5)*Wo*FFT_ENC/TWO_PI); + bl = ceil((l + 0.5)*Wo*FFT_ENC/TWO_PI); + + /* Estimate amplitude of harmonic assuming harmonic is totally voiced */ + + offset = FFT_ENC/2 - l*Wo*FFT_ENC/TWO_PI + 0.5; + for(m=al; m V_THRESH) + model->voiced = 1; + else + model->voiced = 0; + + /* post processing, helps clean up some voicing errors ------------------*/ + + /* + Determine the ratio of low freqency to high frequency energy, + voiced speech tends to be dominated by low frequency energy, + unvoiced by high frequency. This measure can be used to + determine if we have made any gross errors. + */ + + elow = ehigh = 1E-4; + for(l=1; l<=model->L/2; l++) { + elow += model->A[l]*model->A[l]; + } + for(l=model->L/2; l<=model->L; l++) { + ehigh += model->A[l]*model->A[l]; + } + eratio = 10.0*log10f(elow/ehigh); + + /* Look for Type 1 errors, strongly V speech that has been + accidentally declared UV */ + + if (model->voiced == 0) + if (eratio > 10.0) + model->voiced = 1; + + /* Look for Type 2 errors, strongly UV speech that has been + accidentally declared V */ + + if (model->voiced == 1) { + if (eratio < -10.0) + model->voiced = 0; + + /* A common source of Type 2 errors is the pitch estimator + gives a low (50Hz) estimate for UV speech, which gives a + good match with noise due to the close harmoonic spacing. + These errors are much more common than people with 50Hz3 + pitch, so we have just a small eratio threshold. */ + + sixty = 60.0*TWO_PI/FS; + if ((eratio < -4.0) && (model->Wo <= sixty)) + model->voiced = 0; + } + //printf(" v: %d snr: %f eratio: %3.2f %f\n",model->voiced,snr,eratio,dF0); + + return snr; +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: make_synthesis_window + AUTHOR......: David Rowe + DATE CREATED: 11/5/94 + + Init function that generates the trapezoidal (Parzen) sythesis window. + +\*---------------------------------------------------------------------------*/ + +void make_synthesis_window(float Pn[]) +{ + int i; + float win; + + /* Generate Parzen window in time domain */ + + win = 0.0; + for(i=0; i 10ms sound poor. The effect can also + be seen when synthesising test signals like single sine waves, some + sort of amplitude modulation at the frame rate. + + Another possibility is using a larger FFT size (1024 or 2048). + */ + +#define FFT_SYNTHESIS +#ifdef FFT_SYNTHESIS + /* Now set up frequency domain synthesised speech */ + for(l=1; l<=model->L; l++) { + //for(l=model->L/2; l<=model->L; l++) { + //for(l=1; l<=model->L/4; l++) { + b = (int)(l*model->Wo*FFT_DEC/TWO_PI + 0.5); + if (b > ((FFT_DEC/2)-1)) { + b = (FFT_DEC/2)-1; + } + Sw_[b].real = model->A[l]*cosf(model->phi[l]); + Sw_[b].imag = model->A[l]*sinf(model->phi[l]); + Sw_[FFT_DEC-b].real = Sw_[b].real; + Sw_[FFT_DEC-b].imag = -Sw_[b].imag; + } + + /* Perform inverse DFT */ + + kiss_fft(fft_inv_cfg, (kiss_fft_cpx *)Sw_, (kiss_fft_cpx *)sw_); +#else + /* + Direct time domain synthesis using the cos() function. Works + well at 10ms and 20ms frames rates. Note synthesis window is + still used to handle overlap-add between adjacent frames. This + could be simplified as we don't need to synthesise where Pn[] + is zero. + */ + for(l=1; l<=model->L; l++) { + for(i=0,j=-N+1; iA[l]*cos(j*model->Wo*l + model->phi[l]); + } + for(i=N-1,j=0; i<2*N; i++,j++) + Sw_[j].real += 2.0*model->A[l]*cos(j*model->Wo*l + model->phi[l]); + } +#endif + + /* Overlap add to previous samples */ + + for(i=0; i. +*/ + +#ifndef __SINE__ +#define __SINE__ + +#include "defines.h" +#include "comp.h" +#include "kiss_fft.h" + +void make_analysis_window(kiss_fft_cfg fft_fwd_cfg, float w[], COMP W[]); +float hpf(float x, float states[]); +void dft_speech(kiss_fft_cfg fft_fwd_cfg, COMP Sw[], float Sn[], float w[]); +void two_stage_pitch_refinement(MODEL *model, COMP Sw[]); +void estimate_amplitudes(MODEL *model, COMP Sw[], COMP W[], int est_phase); +float est_voicing_mbe(MODEL *model, COMP Sw[], COMP W[], COMP Sw_[],COMP Ew[]); +void make_synthesis_window(float Pn[]); +void synthesise(kiss_fft_cfg fft_inv_cfg, float Sn_[], MODEL *model, float Pn[], int shift); + +#define CODEC2_RAND_MAX 32767 +int codec2_rand(void); + +#endif diff --git a/DSP_API/CODEC2_FREEDV/test_bits.h b/DSP_API/CODEC2_FREEDV/test_bits.h new file mode 100644 index 0000000..d1c01a0 --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/test_bits.h @@ -0,0 +1,164 @@ +/* Generated by test_bits_file() Octave function */ + +const int test_bits[]={ + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1 +}; diff --git a/DSP_API/CODEC2_FREEDV/varicode.c b/DSP_API/CODEC2_FREEDV/varicode.c new file mode 100644 index 0000000..26de09a --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/varicode.c @@ -0,0 +1,479 @@ +//========================================================================== +// Name: varicode.h +// Purpose: Varicode encoded and decode functions +// Created: Nov 24, 2012 +// Authors: David Rowe +// +// To test: +// $ gcc varicode.c -o varicode -DVARICODE_UNITTEST -Wall +// $ ./varicode +// +// License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2.1, +// as published by the Free Software Foundation. This program is +// distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, see . +// +//========================================================================== + +#include +#include +#include +#include +#include +#include "varicode.h" +#include "varicode_table.h" + + +/* + output is an unpacked array of bits of maximum size max_out. Note + unpacked arrays are a more suitable form for modulator input. + + Code 1 covers the entire ASCII char set. +*/ + +int varicode_encode1(short varicode_out[], char ascii_in[], int max_out, int n_in) { + int n_out, index, n_zeros, v_len; + unsigned short byte1, byte2, packed; + + n_out = 0; + + while(n_in && (n_out < max_out)) { + + assert((unsigned int)(*ascii_in) < 128); + + index = 2*(unsigned int)(*ascii_in); + byte1 = varicode_table1[index]; + byte2 = varicode_table1[index+1]; + packed = (byte1 << 8) + byte2; + + //printf("n_in: %d ascii_in: %c index: %d packed 0x%x\n", n_in, *ascii_in, index, packed); + ascii_in++; + + n_zeros = 0; + v_len = 0; + while ((n_zeros < 2) && (n_out < max_out) && (v_len <= VARICODE_MAX_BITS)) { + if (packed & 0x8000) { + *varicode_out = 1; + n_zeros = 0; + } + else { + *varicode_out = 0; + n_zeros++; + } + //printf("packed: 0x%x *varicode_out: %d n_zeros: %d v_len: %d\n", packed, *varicode_out, n_zeros,v_len ); + packed <<= 1; + varicode_out++; + n_out++; + v_len++; + } + assert(v_len <= VARICODE_MAX_BITS); + + n_in--; + } + + return n_out; +} + + +/* + Code 2 covers a subset, but is more efficient that Code 1 (282 + compared to 1315 bits on unittest) Unsupported characters are + replaced by spaces. We encode/decode two bits at a time. +*/ + +int varicode_encode2(short varicode_out[], char ascii_in[], int max_out, int n_in) { + int n_out, n_zeros, v_len, i; + unsigned short packed; + + n_out = 0; + + while(n_in && (n_out < max_out)) { + + packed = varicode_table2[0]; // default to space if char not found + + // see if our character exists + for(i=0; istate = 0; + dec_states->n_zeros = 0; + dec_states->v_len = 0; + dec_states->packed = 0; + dec_states->code_num = code_num; + dec_states->n_in = 0; + dec_states->in[0] = dec_states->in[1] = 0; +} + + +/* Code 1 decode function, accepts one bit at a time */ + +static int decode_one_bit(struct VARICODE_DEC *s, char *single_ascii, short varicode_in, int long_code) +{ + int found=0, i; + unsigned short byte1, byte2; + + //printf("decode_one_bit : state: %d varicode_in: %d packed: 0x%x n_zeros: %d\n", + // s->state, varicode_in, s->packed, s->n_zeros); + + if (s->state == 0) { + if (!varicode_in) + return 0; + else + s->state = 1; + } + + if (s->state == 1) { + if (varicode_in) { + s->packed |= (0x8000 >> s->v_len); + s->n_zeros = 0; + } + else { + s->n_zeros++; + } + s->v_len++; + found = 0; + + /* end of character code */ + + if (s->n_zeros == 2) { + if (s->v_len) { + /* run thru table but note with bit errors we might not actually find a match */ + + byte1 = s->packed >> 8; + //printf("looking for byte1 : 0x%x ... ", byte1); + byte2 = s->packed & 0xff; + + for(i=0; i<128; i++) { + if ((byte1 == varicode_table1[2*i]) && (byte2 == varicode_table1[2*i+1])) { + found = 1; + *single_ascii = i; + } + } + } + varicode_decode_init(s, s->code_num); + } + + /* code can run too long if we have a bit error */ + + if (s->v_len > VARICODE_MAX_BITS) + varicode_decode_init(s, s->code_num); + } + + return found; +} + + +/* Code 2 decode function, accepts two bits at a time */ + +static int decode_two_bits(struct VARICODE_DEC *s, char *single_ascii, short varicode_in1, short varicode_in2) +{ + int found=0, i; + unsigned short byte1; + + if (s->state == 0) { + if (!(varicode_in1 || varicode_in2)) + return 0; + else + s->state = 1; + } + + if (s->state == 1) { + if (varicode_in1) + s->packed |= (0x8000 >> s->v_len); + if (varicode_in2) + s->packed |= (0x4000 >> s->v_len); + if (varicode_in1 || varicode_in2) + s->n_zeros = 0; + else + s->n_zeros+=2; + + s->v_len+=2; + + found = 0; + + /* end of character code */ + + if (s->n_zeros == 2) { + if (s->v_len) { + /* run thru table but note with bit errors we might not actually find a match */ + + byte1 = s->packed >> 8; + //printf("looking for byte1 : 0x%x ... ", byte1); + for(i=0; icode_num); + } + + /* code can run too long if we have a bit error */ + + if (s->v_len > VARICODE_MAX_BITS) + varicode_decode_init(s, s->code_num); + } + + return found; +} + + +int varicode_decode1(struct VARICODE_DEC *dec_states, char ascii_out[], short varicode_in[], int max_out, int n_in) { + int output, n_out; + char single_ascii = 0; + + n_out = 0; + + //printf("varicode_decode: n_in: %d\n", n_in); + + while(n_in && (n_out < max_out)) { + output = decode_one_bit(dec_states, &single_ascii, varicode_in[0], 0); + varicode_in++; + n_in--; + + if (output) { + *ascii_out++ = single_ascii; + n_out++; + } + } + + return n_out; +} + + +int varicode_decode2(struct VARICODE_DEC *dec_states, char ascii_out[], short varicode_in[], int max_out, int n_in) { + int output, n_out; + char single_ascii = 0; + + n_out = 0; + + //printf("varicode_decode2: n_in: %d varicode_in[0] %d dec_states->n_in: %d\n", n_in, varicode_in[0], dec_states->n_in); + //printf("%d ", varicode_in[0]); + while(n_in && (n_out < max_out)) { + + // keep two bit buffer so we can process two at a time + + dec_states->in[0] = dec_states->in[1]; + dec_states->in[1] = varicode_in[0]; + dec_states->n_in++; + varicode_in++; + n_in--; + + if (dec_states->n_in == 2) { + output = decode_two_bits(dec_states, &single_ascii, dec_states->in[0], dec_states->in[1]); + + dec_states->n_in = 0; + + if (output) { + //printf(" output: %d single_ascii: 0x%x %c\n", output, (int)single_ascii, single_ascii); + *ascii_out++ = single_ascii; + n_out++; + } + } + } + + return n_out; +} + + +int varicode_decode(struct VARICODE_DEC *dec_states, char ascii_out[], short varicode_in[], int max_out, int n_in) { + if (dec_states->code_num == 1) + return varicode_decode1(dec_states, ascii_out, varicode_in, max_out, n_in); + else + return varicode_decode2(dec_states, ascii_out, varicode_in, max_out, n_in); +} + + +#ifdef VARICODE_UNITTEST +void test_varicode(int code_num) { + char *ascii_in; + short *varicode; + int i, n_varicode_bits_out, n_ascii_chars_out, length, half, n_out, j, len; + char *ascii_out; + struct VARICODE_DEC dec_states; + + if (code_num == 1) { + printf("long code:\n"); + length = sizeof(varicode_table1)/2; + } + else { + printf("short code:\n"); + length = sizeof(varicode_table2)/2; + } + //length = 10; + ascii_in = (char*)malloc(length); + varicode = (short*)malloc(VARICODE_MAX_BITS*sizeof(short)*length); + ascii_out = (char*)malloc(length); + + // 1. test all Varicode codes ------------------------------------------------------------- + + if (code_num == 1) { + for(i=0; i. +// +//========================================================================== + +#ifndef __VARICODE__ +#define __VARICODE__ + +#ifdef __cplusplus +extern "C" { + +#endif + +#define VARICODE_MAX_BITS (10+2) /* max varicode bits for each ascii character */ + /* 10 bits for code plus 2 0 bits for inter-character space */ + +struct VARICODE_DEC { + int state; + int n_zeros; + int v_len; + unsigned short packed; + int code_num; + int n_in; + int in[2]; +}; + +int varicode_encode(short varicode_out[], char ascii_in[], int max_out, int n_in, int code_num); +void varicode_decode_init(struct VARICODE_DEC *dec_states, int code_num); +int varicode_decode(struct VARICODE_DEC *dec_states, char ascii_out[], short varicode_in[], int max_out, int n_in); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/DSP_API/CODEC2_FREEDV/varicode_table.h b/DSP_API/CODEC2_FREEDV/varicode_table.h new file mode 100644 index 0000000..08f38fd --- /dev/null +++ b/DSP_API/CODEC2_FREEDV/varicode_table.h @@ -0,0 +1,338 @@ +//========================================================================== +// Name: varicode_table.h +// Purpose: Varicode look up table +// Created: Nov 24, 2012 +// Authors: Clint Turner, KA7OEI, Peter Martinez, G3PLX +// +// License: +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2.1, +// as published by the Free Software Foundation. This program is +// distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, see . +// +//========================================================================== + +/* The following table defines the PKS31 varicode. There are 128 entries, +corresponding to ASCII characters 0-127 with two bytes for each entry. The bits +for the varicode are to be shifted out MSB-first for both bytes, with the first byte +in the table being the first one to be sent. + +More than one zero in sequence signifies the end of the character (i.e. +two zeroes are the intercharacter sequence, so at least two zeroes should always be +sent before the next character is sent. + +This file is constructed with information from the article "PSK31 Fundamentals" +by Peter Martinez, G3PLX by Clint Turner, KA7OEI +*/ +unsigned char const varicode_table1[256] = { + 0b10101010, + 0b11000000, // 0 NUL + 0b10110110, + 0b11000000, // 1 SOH + 0b10111011, + 0b01000000, // 2 STX + 0b11011101, + 0b11000000, // 3 ETX + 0b10111010, + 0b11000000, // 4 EOT + 0b11010111, + 0b11000000, // 5 ENQ + 0b10111011, + 0b11000000, // 6 ACK + 0b10111111, + 0b01000000, // 7 BEL + 0b10111111, + 0b11000000, // 8 BS + 0b11101111, + 0b00000000, // 9 HT + 0b11101000, + 0b00000000, // 10 LF + 0b11011011, + 0b11000000, // 11 VT + 0b10110111, + 0b01000000, // 12 FF + 0b11111000, + 0b00000000, // 13 CR + 0b11011101, + 0b01000000, // 14 SO + 0b11101010, + 0b11000000, // 15 SI + 0b10111101, + 0b11000000, // 16 DLE + 0b10111101, + 0b01000000, // 17 DC1 + 0b11101011, + 0b01000000, // 18 DC2 + 0b11101011, + 0b11000000, // 19 DC3 + 0b11010110, + 0b11000000, // 20 DC4 + 0b11011010, + 0b11000000, // 21 NAK + 0b11011011, + 0b01000000, // 22 SYN + 0b11010101, + 0b11000000, // 23 ETB + 0b11011110, + 0b11000000, // 24 CAN + 0b11011111, + 0b01000000, // 25 EM + 0b11101101, + 0b11000000, // 26 SUB + 0b11010101, + 0b01000000, // 27 ESC + 0b11010111, + 0b01000000, // 28 FS + 0b11101110, + 0b11000000, // 29 GS + 0b10111110, + 0b11000000, // 30 RS + 0b11011111, + 0b11000000, // 31 US + 0b10000000, + 0b00000000, // 32 SP + 0b11111111, + 0b10000000, // 33 ! + 0b10101111, + 0b10000000, // 34 " + 0b11111010, + 0b10000000, // 35 # + 0b11101101, + 0b10000000, // 36 $ + 0b10110101, + 0b01000000, // 37 % + 0b10101110, + 0b11000000, // 38 & + 0b10111111, + 0b10000000, // 39 ' + 0b11111011, + 0b00000000, // 40 ( + 0b11110111, + 0b00000000, // 41 ) + 0b10110111, + 0b10000000, // 42 * + 0b11101111, + 0b10000000, // 43 + + 0b11101010, + 0b00000000, // 44 , + 0b11010100, + 0b00000000, // 45 - + 0b10101110, + 0b00000000, // 46 . + 0b11010111, + 0b10000000, // 47 / + 0b10110111, + 0b00000000, // 48 0 + 0b10111101, + 0b00000000, // 49 1 + 0b11101101, + 0b00000000, // 50 2 + 0b11111111, + 0b00000000, // 51 3 + 0b10111011, + 0b10000000, // 52 4 + 0b10101101, + 0b10000000, // 53 5 + 0b10110101, + 0b10000000, // 54 6 + 0b11010110, + 0b10000000, // 55 7 + 0b11010101, + 0b10000000, // 56 8 + 0b11011011, + 0b10000000, // 57 9 + 0b11110101, + 0b00000000, // 58 : + 0b11011110, + 0b10000000, // 59 ; + 0b11110110, + 0b10000000, // 60 < + 0b10101010, + 0b00000000, // 61 = + 0b11101011, + 0b10000000, // 62 > + 0b10101011, + 0b11000000, // 63 ? + 0b10101111, + 0b01000000, // 64 @ + 0b11111010, + 0b00000000, // 65 A + 0b11101011, + 0b00000000, // 66 B + 0b10101101, + 0b00000000, // 67 C + 0b10110101, + 0b00000000, // 68 D + 0b11101110, + 0b00000000, // 69 E + 0b11011011, + 0b00000000, // 70 F + 0b11111101, + 0b00000000, // 71 G + 0b10101010, + 0b10000000, // 72 H + 0b11111110, + 0b00000000, // 73 I + 0b11111110, + 0b10000000, // 74 J + 0b10111110, + 0b10000000, // 75 K + 0b11010111, + 0b00000000, // 76 L + 0b10111011, + 0b00000000, // 77 M + 0b11011101, + 0b00000000, // 78 N + 0b10101011, + 0b00000000, // 79 O + 0b11010101, + 0b00000000, // 80 P + 0b11101110, + 0b10000000, // 81 Q + 0b10101111, + 0b00000000, // 82 R + 0b11011110, + 0b00000000, // 83 S + 0b11011010, + 0b00000000, // 84 T + 0b10101011, + 0b10000000, // 85 U + 0b11011010, + 0b10000000, // 86 V + 0b10101110, + 0b10000000, // 87 W + 0b10111010, + 0b10000000, // 88 X + 0b10111101, + 0b10000000, // 89 Y + 0b10101011, + 0b01000000, // 90 Z + 0b11111011, + 0b10000000, // 91 [ + 0b11110111, + 0b10000000, // 92 "\" + 0b11111101, + 0b10000000, // 93 ] + 0b10101111, + 0b11000000, // 94 ^ + 0b10110110, + 0b10000000, // 95 _ (underline) + 0b10110111, + 0b11000000, // 96 ` + 0b10110000, + 0b00000000, // 97 a + 0b10111110, + 0b00000000, // 98 b + 0b10111100, + 0b00000000, // 99 c + 0b10110100, + 0b00000000, // 100 d + 0b11000000, + 0b00000000, // 101 e + 0b11110100, + 0b00000000, // 102 f + 0b10110110, + 0b00000000, // 103 g + 0b10101100, + 0b00000000, // 104 h + 0b11010000, + 0b00000000, // 105 i + 0b11110101, + 0b10000000, // 106 j + 0b10111111, + 0b00000000, // 107 k + 0b11011000, + 0b00000000, // 108 l + 0b11101100, + 0b00000000, // 109 m + 0b11110000, + 0b00000000, // 110 n + 0b11100000, + 0b00000000, // 111 o + 0b11111100, + 0b00000000, // 112 p + 0b11011111, + 0b10000000, // 113 q + 0b10101000, + 0b00000000, // 114 r + 0b10111000, + 0b00000000, // 115 s + 0b10100000, + 0b00000000, // 116 t + 0b11011100, + 0b00000000, // 117 u + 0b11110110, + 0b00000000, // 118 v + 0b11010110, + 0b00000000, // 119 w + 0b11011111, + 0b00000000, // 120 x + 0b10111010, + 0b00000000, // 121 y + 0b11101010, + 0b10000000, // 122 z + 0b10101101, + 0b11000000, // 123 { + 0b11011101, + 0b10000000, // 124 | + 0b10101101, + 0b01000000, // 125 } + 0b10110101, + 0b11000000, // 126 ~ + 0b11101101, + 0b01000000, // 127 (del) +}; + +// This code was used on FDMDV version 1, and is more compact that Code 1, but only covers a subset +// of the ASCII cahacter set + +char const varicode_table2[] = { + + ' ' ,0b11000000, + 13 ,0b01000000, // CR, end of message + '=' ,0b10000000, + '1' ,0b11110000, + '2' ,0b01110000, + '3' ,0b10110000, + '4' ,0b11010000, + '5' ,0b01010000, + '6' ,0b10010000, + '7' ,0b11100000, + '8' ,0b01100000, + '9' ,0b10100000, + 'a' ,0b11111100, + 'b' ,0b01111100, + 'c' ,0b10111100, + 'd' ,0b11011100, + 'e' ,0b01011100, + 'f' ,0b10011100, + 'g' ,0b11101100, + 'h' ,0b01101100, + 'i' ,0b10101100, + 'j' ,0b11110100, + 'k' ,0b01110100, + 'l' ,0b10110100, + 'm' ,0b11010100, + 'n' ,0b01010100, + 'o' ,0b10010100, + 'p' ,0b11100100, + 'q' ,0b01100100, + 'r' ,0b10100100, + 's' ,0b11111000, + 't' ,0b01111000, + 'u' ,0b10111000, + 'v' ,0b11011000, + 'w' ,0b01011000, + 'x' ,0b10011000, + 'y' ,0b11101000, + 'z' ,0b01101000, + '0' ,0b10101000 +}; + diff --git a/DSP_API/DOCS/Documentation.txt b/DSP_API/DOCS/Documentation.txt new file mode 100644 index 0000000..fd1bdd4 --- /dev/null +++ b/DSP_API/DOCS/Documentation.txt @@ -0,0 +1,36 @@ +DSP_API Documentation + +Topic: Configuration File + +The DSP_API executable requires an associated ".cfg" configuration file. +By example, the configuration file for FreeDV is FreeDV.cfg. + +The ".cfg" file must reside in the same folder as the executable. +This is currently + /nfsroots/microburst/home/root/ +but will be changed in the future when the MODEM executables are +moved to a protected folder. + +It is a text file, and can be composed with a test editor in either Unix +or Windows format. + +All content prior to the '[header]' identifier will be ignored, +so any free form text can be at the top of the file, prior to the [header]. + +Currently, the only required [header] information is the +"Minimum-SmartSDR-Version:" but providing all the information +in the example is recommended. + +The [setup] section contains any or all commands required to +configure the radio for use with the MODEM. + +Empty lines will be skipped. + +The end of the configuration transmissions to the radio are +terminated by either the [end] identifier, or encountering the +end of file (EOF). + +Any text after the [end] identifier will be ignored. + +== + diff --git a/DSP_API/DOCS/FreeDV.cfg b/DSP_API/DOCS/FreeDV.cfg new file mode 100644 index 0000000..49e5bcb --- /dev/null +++ b/DSP_API/DOCS/FreeDV.cfg @@ -0,0 +1,21 @@ +[header] +Name: FreeDV +Version: 1.0.0 +Minimum-SmartSDR-Version: 1.3.1.0 +Author: FlexRadio Systems +Support-email: support@flexradio.com +Support-phone: 512-535-4713 +License: GPL7.3 + +[setup] +waveform create name=FreeDV mode=FDV +waveform set FreeDV tx=1 +waveform set FreeDV rx_filter low_cut=600 +waveform set FreeDV rx_filter high_cut=2400 +waveform set FreeDV rx_filter depth=256 +waveform set FreeDV tx_filter low_cut=600 +waveform set FreeDV tx_filter high_cut=2400 +waveform set FreeDV tx_filter depth=256 +waveform set FreeDV udpport=42000 +sub slice all +[end] diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebook.d b/DSP_API/Debug/CODEC2_FREEDV/codebook.d new file mode 100644 index 0000000..ebb086c --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebook.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebook.d CODEC2_FREEDV/codebook.o: \ + ../CODEC2_FREEDV/codebook.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookd.d b/DSP_API/Debug/CODEC2_FREEDV/codebookd.d new file mode 100644 index 0000000..f67a726 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookd.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookd.d CODEC2_FREEDV/codebookd.o: \ + ../CODEC2_FREEDV/codebookd.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookdt.d b/DSP_API/Debug/CODEC2_FREEDV/codebookdt.d new file mode 100644 index 0000000..93c5b6a --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookdt.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookdt.d CODEC2_FREEDV/codebookdt.o: \ + ../CODEC2_FREEDV/codebookdt.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookge.d b/DSP_API/Debug/CODEC2_FREEDV/codebookge.d new file mode 100644 index 0000000..86746f4 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookge.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookge.d CODEC2_FREEDV/codebookge.o: \ + ../CODEC2_FREEDV/codebookge.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookjnd.d b/DSP_API/Debug/CODEC2_FREEDV/codebookjnd.d new file mode 100644 index 0000000..75502f4 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookjnd.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookjnd.d CODEC2_FREEDV/codebookjnd.o: \ + ../CODEC2_FREEDV/codebookjnd.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookjvm.d b/DSP_API/Debug/CODEC2_FREEDV/codebookjvm.d new file mode 100644 index 0000000..74e67b2 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookjvm.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookjvm.d CODEC2_FREEDV/codebookjvm.o: \ + ../CODEC2_FREEDV/codebookjvm.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookvq.d b/DSP_API/Debug/CODEC2_FREEDV/codebookvq.d new file mode 100644 index 0000000..5e5dbd6 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookvq.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookvq.d CODEC2_FREEDV/codebookvq.o: \ + ../CODEC2_FREEDV/codebookvq.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codebookvqanssi.d b/DSP_API/Debug/CODEC2_FREEDV/codebookvqanssi.d new file mode 100644 index 0000000..1302fba --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codebookvqanssi.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/codebookvqanssi.d CODEC2_FREEDV/codebookvqanssi.o: \ + ../CODEC2_FREEDV/codebookvqanssi.c ../CODEC2_FREEDV/defines.h + +../CODEC2_FREEDV/defines.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/codec2.d b/DSP_API/Debug/CODEC2_FREEDV/codec2.d new file mode 100644 index 0000000..ab00ecc --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/codec2.d @@ -0,0 +1,39 @@ +CODEC2_FREEDV/codec2.d CODEC2_FREEDV/codec2.o: ../CODEC2_FREEDV/codec2.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/sine.h \ + ../CODEC2_FREEDV/comp.h ../CODEC2_FREEDV/kiss_fft.h \ + ../CODEC2_FREEDV/nlp.h ../CODEC2_FREEDV/dump.h \ + ../CODEC2_FREEDV/codec2_internal.h ../CODEC2_FREEDV/lpc.h \ + ../CODEC2_FREEDV/quantise.h ../CODEC2_FREEDV/phase.h \ + ../CODEC2_FREEDV/interp.h ../CODEC2_FREEDV/postfilter.h \ + ../CODEC2_FREEDV/codec2.h ../CODEC2_FREEDV/lsp.h \ + ../CODEC2_FREEDV/machdep.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/sine.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/nlp.h: + +../CODEC2_FREEDV/dump.h: + +../CODEC2_FREEDV/codec2_internal.h: + +../CODEC2_FREEDV/lpc.h: + +../CODEC2_FREEDV/quantise.h: + +../CODEC2_FREEDV/phase.h: + +../CODEC2_FREEDV/interp.h: + +../CODEC2_FREEDV/postfilter.h: + +../CODEC2_FREEDV/codec2.h: + +../CODEC2_FREEDV/lsp.h: + +../CODEC2_FREEDV/machdep.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/dump.d b/DSP_API/Debug/CODEC2_FREEDV/dump.d new file mode 100644 index 0000000..143f68c --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/dump.d @@ -0,0 +1,14 @@ +CODEC2_FREEDV/dump.d CODEC2_FREEDV/dump.o: ../CODEC2_FREEDV/dump.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/comp.h \ + ../CODEC2_FREEDV/dump.h ../CODEC2_FREEDV/kiss_fft.h \ + ../CODEC2_FREEDV/codec2_internal.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/dump.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/codec2_internal.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/fdmdv.d b/DSP_API/Debug/CODEC2_FREEDV/fdmdv.d new file mode 100644 index 0000000..2a584f5 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/fdmdv.d @@ -0,0 +1,29 @@ +CODEC2_FREEDV/fdmdv.d CODEC2_FREEDV/fdmdv.o: ../CODEC2_FREEDV/fdmdv.c \ + ../CODEC2_FREEDV/fdmdv_internal.h ../CODEC2_FREEDV/comp.h \ + ../CODEC2_FREEDV/codec2_fdmdv.h ../CODEC2_FREEDV/kiss_fft.h \ + ../CODEC2_FREEDV/rn.h ../CODEC2_FREEDV/rxdec_coeff.h \ + ../CODEC2_FREEDV/test_bits.h ../CODEC2_FREEDV/pilot_coeff.h \ + ../CODEC2_FREEDV/hanning.h ../CODEC2_FREEDV/os.h \ + ../CODEC2_FREEDV/machdep.h + +../CODEC2_FREEDV/fdmdv_internal.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/codec2_fdmdv.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/rn.h: + +../CODEC2_FREEDV/rxdec_coeff.h: + +../CODEC2_FREEDV/test_bits.h: + +../CODEC2_FREEDV/pilot_coeff.h: + +../CODEC2_FREEDV/hanning.h: + +../CODEC2_FREEDV/os.h: + +../CODEC2_FREEDV/machdep.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/fifo.d b/DSP_API/Debug/CODEC2_FREEDV/fifo.d new file mode 100644 index 0000000..5abdc60 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/fifo.d @@ -0,0 +1,4 @@ +CODEC2_FREEDV/fifo.d CODEC2_FREEDV/fifo.o: ../CODEC2_FREEDV/fifo.c \ + ../CODEC2_FREEDV/codec2_fifo.h + +../CODEC2_FREEDV/codec2_fifo.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/freedv_api.d b/DSP_API/Debug/CODEC2_FREEDV/freedv_api.d new file mode 100644 index 0000000..1933c3c --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/freedv_api.d @@ -0,0 +1,17 @@ +CODEC2_FREEDV/freedv_api.d CODEC2_FREEDV/freedv_api.o: \ + ../CODEC2_FREEDV/freedv_api.c ../CODEC2_FREEDV/codec2.h \ + ../CODEC2_FREEDV/codec2_fdmdv.h ../CODEC2_FREEDV/comp.h \ + ../CODEC2_FREEDV/golay23.h ../CODEC2_FREEDV/varicode.h \ + ../CODEC2_FREEDV/freedv_api.h + +../CODEC2_FREEDV/codec2.h: + +../CODEC2_FREEDV/codec2_fdmdv.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/golay23.h: + +../CODEC2_FREEDV/varicode.h: + +../CODEC2_FREEDV/freedv_api.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/golay23.d b/DSP_API/Debug/CODEC2_FREEDV/golay23.d new file mode 100644 index 0000000..0059241 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/golay23.d @@ -0,0 +1,9 @@ +CODEC2_FREEDV/golay23.d CODEC2_FREEDV/golay23.o: \ + ../CODEC2_FREEDV/golay23.c ../CODEC2_FREEDV/golay23.h \ + ../CODEC2_FREEDV/golayenctable.h ../CODEC2_FREEDV/golaydectable.h + +../CODEC2_FREEDV/golay23.h: + +../CODEC2_FREEDV/golayenctable.h: + +../CODEC2_FREEDV/golaydectable.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/interp.d b/DSP_API/Debug/CODEC2_FREEDV/interp.d new file mode 100644 index 0000000..38d3090 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/interp.d @@ -0,0 +1,16 @@ +CODEC2_FREEDV/interp.d CODEC2_FREEDV/interp.o: ../CODEC2_FREEDV/interp.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/interp.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/lsp.h \ + ../CODEC2_FREEDV/quantise.h ../CODEC2_FREEDV/comp.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/interp.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/lsp.h: + +../CODEC2_FREEDV/quantise.h: + +../CODEC2_FREEDV/comp.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/kiss_fft.d b/DSP_API/Debug/CODEC2_FREEDV/kiss_fft.d new file mode 100644 index 0000000..6f8d4f7 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/kiss_fft.d @@ -0,0 +1,7 @@ +CODEC2_FREEDV/kiss_fft.d CODEC2_FREEDV/kiss_fft.o: \ + ../CODEC2_FREEDV/kiss_fft.c ../CODEC2_FREEDV/_kiss_fft_guts.h \ + ../CODEC2_FREEDV/kiss_fft.h + +../CODEC2_FREEDV/_kiss_fft_guts.h: + +../CODEC2_FREEDV/kiss_fft.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/lpc.d b/DSP_API/Debug/CODEC2_FREEDV/lpc.d new file mode 100644 index 0000000..0c671de --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/lpc.d @@ -0,0 +1,6 @@ +CODEC2_FREEDV/lpc.d CODEC2_FREEDV/lpc.o: ../CODEC2_FREEDV/lpc.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/lpc.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/lpc.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/lsp.d b/DSP_API/Debug/CODEC2_FREEDV/lsp.d new file mode 100644 index 0000000..94d5ace --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/lsp.d @@ -0,0 +1,6 @@ +CODEC2_FREEDV/lsp.d CODEC2_FREEDV/lsp.o: ../CODEC2_FREEDV/lsp.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/lsp.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/lsp.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/nlp.d b/DSP_API/Debug/CODEC2_FREEDV/nlp.d new file mode 100644 index 0000000..1fb9ad3 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/nlp.d @@ -0,0 +1,19 @@ +CODEC2_FREEDV/nlp.d CODEC2_FREEDV/nlp.o: ../CODEC2_FREEDV/nlp.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/nlp.h \ + ../CODEC2_FREEDV/comp.h ../CODEC2_FREEDV/dump.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/codec2_internal.h \ + ../CODEC2_FREEDV/machdep.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/nlp.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/dump.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/codec2_internal.h: + +../CODEC2_FREEDV/machdep.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/pack.d b/DSP_API/Debug/CODEC2_FREEDV/pack.d new file mode 100644 index 0000000..cd0cdd9 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/pack.d @@ -0,0 +1,11 @@ +CODEC2_FREEDV/pack.d CODEC2_FREEDV/pack.o: ../CODEC2_FREEDV/pack.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/quantise.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/comp.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/quantise.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/comp.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/phase.d b/DSP_API/Debug/CODEC2_FREEDV/phase.d new file mode 100644 index 0000000..12c69e1 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/phase.d @@ -0,0 +1,14 @@ +CODEC2_FREEDV/phase.d CODEC2_FREEDV/phase.o: ../CODEC2_FREEDV/phase.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/phase.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/comp.h \ + ../CODEC2_FREEDV/sine.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/phase.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/sine.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/postfilter.d b/DSP_API/Debug/CODEC2_FREEDV/postfilter.d new file mode 100644 index 0000000..7e57f97 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/postfilter.d @@ -0,0 +1,19 @@ +CODEC2_FREEDV/postfilter.d CODEC2_FREEDV/postfilter.o: \ + ../CODEC2_FREEDV/postfilter.c ../CODEC2_FREEDV/defines.h \ + ../CODEC2_FREEDV/comp.h ../CODEC2_FREEDV/dump.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/codec2_internal.h \ + ../CODEC2_FREEDV/sine.h ../CODEC2_FREEDV/postfilter.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/dump.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/codec2_internal.h: + +../CODEC2_FREEDV/sine.h: + +../CODEC2_FREEDV/postfilter.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/quantise.d b/DSP_API/Debug/CODEC2_FREEDV/quantise.d new file mode 100644 index 0000000..d4a81f5 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/quantise.d @@ -0,0 +1,24 @@ +CODEC2_FREEDV/quantise.d CODEC2_FREEDV/quantise.o: \ + ../CODEC2_FREEDV/quantise.c ../CODEC2_FREEDV/defines.h \ + ../CODEC2_FREEDV/dump.h ../CODEC2_FREEDV/comp.h \ + ../CODEC2_FREEDV/kiss_fft.h ../CODEC2_FREEDV/codec2_internal.h \ + ../CODEC2_FREEDV/quantise.h ../CODEC2_FREEDV/lpc.h \ + ../CODEC2_FREEDV/lsp.h ../CODEC2_FREEDV/machdep.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/dump.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/kiss_fft.h: + +../CODEC2_FREEDV/codec2_internal.h: + +../CODEC2_FREEDV/quantise.h: + +../CODEC2_FREEDV/lpc.h: + +../CODEC2_FREEDV/lsp.h: + +../CODEC2_FREEDV/machdep.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/sine.d b/DSP_API/Debug/CODEC2_FREEDV/sine.d new file mode 100644 index 0000000..028cc13 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/sine.d @@ -0,0 +1,11 @@ +CODEC2_FREEDV/sine.d CODEC2_FREEDV/sine.o: ../CODEC2_FREEDV/sine.c \ + ../CODEC2_FREEDV/defines.h ../CODEC2_FREEDV/sine.h \ + ../CODEC2_FREEDV/comp.h ../CODEC2_FREEDV/kiss_fft.h + +../CODEC2_FREEDV/defines.h: + +../CODEC2_FREEDV/sine.h: + +../CODEC2_FREEDV/comp.h: + +../CODEC2_FREEDV/kiss_fft.h: diff --git a/DSP_API/Debug/CODEC2_FREEDV/subdir.mk b/DSP_API/Debug/CODEC2_FREEDV/subdir.mk new file mode 100644 index 0000000..5510669 --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/subdir.mk @@ -0,0 +1,96 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../CODEC2_FREEDV/codebook.c \ +../CODEC2_FREEDV/codebookd.c \ +../CODEC2_FREEDV/codebookdt.c \ +../CODEC2_FREEDV/codebookge.c \ +../CODEC2_FREEDV/codebookjnd.c \ +../CODEC2_FREEDV/codebookjvm.c \ +../CODEC2_FREEDV/codebookvq.c \ +../CODEC2_FREEDV/codebookvqanssi.c \ +../CODEC2_FREEDV/codec2.c \ +../CODEC2_FREEDV/dump.c \ +../CODEC2_FREEDV/fdmdv.c \ +../CODEC2_FREEDV/fifo.c \ +../CODEC2_FREEDV/freedv_api.c \ +../CODEC2_FREEDV/golay23.c \ +../CODEC2_FREEDV/interp.c \ +../CODEC2_FREEDV/kiss_fft.c \ +../CODEC2_FREEDV/lpc.c \ +../CODEC2_FREEDV/lsp.c \ +../CODEC2_FREEDV/nlp.c \ +../CODEC2_FREEDV/pack.c \ +../CODEC2_FREEDV/phase.c \ +../CODEC2_FREEDV/postfilter.c \ +../CODEC2_FREEDV/quantise.c \ +../CODEC2_FREEDV/sine.c \ +../CODEC2_FREEDV/varicode.c + +OBJS += \ +./CODEC2_FREEDV/codebook.o \ +./CODEC2_FREEDV/codebookd.o \ +./CODEC2_FREEDV/codebookdt.o \ +./CODEC2_FREEDV/codebookge.o \ +./CODEC2_FREEDV/codebookjnd.o \ +./CODEC2_FREEDV/codebookjvm.o \ +./CODEC2_FREEDV/codebookvq.o \ +./CODEC2_FREEDV/codebookvqanssi.o \ +./CODEC2_FREEDV/codec2.o \ +./CODEC2_FREEDV/dump.o \ +./CODEC2_FREEDV/fdmdv.o \ +./CODEC2_FREEDV/fifo.o \ +./CODEC2_FREEDV/freedv_api.o \ +./CODEC2_FREEDV/golay23.o \ +./CODEC2_FREEDV/interp.o \ +./CODEC2_FREEDV/kiss_fft.o \ +./CODEC2_FREEDV/lpc.o \ +./CODEC2_FREEDV/lsp.o \ +./CODEC2_FREEDV/nlp.o \ +./CODEC2_FREEDV/pack.o \ +./CODEC2_FREEDV/phase.o \ +./CODEC2_FREEDV/postfilter.o \ +./CODEC2_FREEDV/quantise.o \ +./CODEC2_FREEDV/sine.o \ +./CODEC2_FREEDV/varicode.o + +C_DEPS += \ +./CODEC2_FREEDV/codebook.d \ +./CODEC2_FREEDV/codebookd.d \ +./CODEC2_FREEDV/codebookdt.d \ +./CODEC2_FREEDV/codebookge.d \ +./CODEC2_FREEDV/codebookjnd.d \ +./CODEC2_FREEDV/codebookjvm.d \ +./CODEC2_FREEDV/codebookvq.d \ +./CODEC2_FREEDV/codebookvqanssi.d \ +./CODEC2_FREEDV/codec2.d \ +./CODEC2_FREEDV/dump.d \ +./CODEC2_FREEDV/fdmdv.d \ +./CODEC2_FREEDV/fifo.d \ +./CODEC2_FREEDV/freedv_api.d \ +./CODEC2_FREEDV/golay23.d \ +./CODEC2_FREEDV/interp.d \ +./CODEC2_FREEDV/kiss_fft.d \ +./CODEC2_FREEDV/lpc.d \ +./CODEC2_FREEDV/lsp.d \ +./CODEC2_FREEDV/nlp.d \ +./CODEC2_FREEDV/pack.d \ +./CODEC2_FREEDV/phase.d \ +./CODEC2_FREEDV/postfilter.d \ +./CODEC2_FREEDV/quantise.d \ +./CODEC2_FREEDV/sine.d \ +./CODEC2_FREEDV/varicode.d + + +# Each subdirectory must supply rules for building sources it contributes +CODEC2_FREEDV/%.o: ../CODEC2_FREEDV/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + arm-angstrom-linux-gnueabi-gcc -DDEBUG -I"/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -I"/src/flex/smartsdr-dsp/DSP_API" -I"/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface" -O0 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -g3 -ggdb -g3 -fstack-protector-all -funwind-tables -Wall -c -fmessage-length=0 -lpthread -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/DSP_API/Debug/CODEC2_FREEDV/varicode.d b/DSP_API/Debug/CODEC2_FREEDV/varicode.d new file mode 100644 index 0000000..8a86c3a --- /dev/null +++ b/DSP_API/Debug/CODEC2_FREEDV/varicode.d @@ -0,0 +1,7 @@ +CODEC2_FREEDV/varicode.d CODEC2_FREEDV/varicode.o: \ + ../CODEC2_FREEDV/varicode.c ../CODEC2_FREEDV/varicode.h \ + ../CODEC2_FREEDV/varicode_table.h + +../CODEC2_FREEDV/varicode.h: + +../CODEC2_FREEDV/varicode_table.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/cmd_basics.d b/DSP_API/Debug/SmartSDR_Interface/cmd_basics.d new file mode 100644 index 0000000..58ec73b --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/cmd_basics.d @@ -0,0 +1,55 @@ +SmartSDR_Interface/cmd_basics.d SmartSDR_Interface/cmd_basics.o: \ + ../SmartSDR_Interface/cmd_basics.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h ../SmartSDR_Interface/cmd.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +../SmartSDR_Interface/cmd.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/cmd_engine.d b/DSP_API/Debug/SmartSDR_Interface/cmd_engine.d new file mode 100644 index 0000000..9608aa9 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/cmd_engine.d @@ -0,0 +1,60 @@ +SmartSDR_Interface/cmd_engine.d SmartSDR_Interface/cmd_engine.o: \ + ../SmartSDR_Interface/cmd_engine.c ../SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + ../SmartSDR_Interface/../main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/datatypes.h ../SmartSDR_Interface/cmd.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h + +../SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +../SmartSDR_Interface/../main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/datatypes.h: + +../SmartSDR_Interface/cmd.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/discovery_client.d b/DSP_API/Debug/SmartSDR_Interface/discovery_client.d new file mode 100644 index 0000000..4bb7515 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/discovery_client.d @@ -0,0 +1,59 @@ +SmartSDR_Interface/discovery_client.d \ + SmartSDR_Interface/discovery_client.o: \ + ../SmartSDR_Interface/discovery_client.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/discovery_client.h ../SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/io_utils.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/discovery_client.h: + +../SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/io_utils.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/hal_buffer.d b/DSP_API/Debug/SmartSDR_Interface/hal_buffer.d new file mode 100644 index 0000000..236a440 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/hal_buffer.d @@ -0,0 +1,53 @@ +SmartSDR_Interface/hal_buffer.d SmartSDR_Interface/hal_buffer.o: \ + ../SmartSDR_Interface/hal_buffer.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/hal_buffer.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/hal_buffer.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/hal_listener.d b/DSP_API/Debug/SmartSDR_Interface/hal_listener.d new file mode 100644 index 0000000..6253e3c --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/hal_listener.d @@ -0,0 +1,70 @@ +SmartSDR_Interface/hal_listener.d SmartSDR_Interface/hal_listener.o: \ + ../SmartSDR_Interface/hal_listener.c ../SmartSDR_Interface/vita.h \ + ../SmartSDR_Interface/datatypes.h ../SmartSDR_Interface/hal_vita.h \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/stream.h ../SmartSDR_Interface/../common.h \ + ../SmartSDR_Interface/vita_output.h ../SmartSDR_Interface/hal_buffer.h \ + ../SmartSDR_Interface/sched_waveform.h + +../SmartSDR_Interface/vita.h: + +../SmartSDR_Interface/datatypes.h: + +../SmartSDR_Interface/hal_vita.h: + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/stream.h: + +../SmartSDR_Interface/../common.h: + +../SmartSDR_Interface/vita_output.h: + +../SmartSDR_Interface/hal_buffer.h: + +../SmartSDR_Interface/sched_waveform.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/hal_vita.d b/DSP_API/Debug/SmartSDR_Interface/hal_vita.d new file mode 100644 index 0000000..702e3f2 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/hal_vita.d @@ -0,0 +1,57 @@ +SmartSDR_Interface/hal_vita.d SmartSDR_Interface/hal_vita.o: \ + ../SmartSDR_Interface/hal_vita.c /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/hal_vita.h ../SmartSDR_Interface/datatypes.h \ + ../SmartSDR_Interface/vita.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/hal_vita.h: + +../SmartSDR_Interface/datatypes.h: + +../SmartSDR_Interface/vita.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/io_utils.d b/DSP_API/Debug/SmartSDR_Interface/io_utils.d new file mode 100644 index 0000000..2b64026 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/io_utils.d @@ -0,0 +1,49 @@ +SmartSDR_Interface/io_utils.d SmartSDR_Interface/io_utils.o: \ + ../SmartSDR_Interface/io_utils.c /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/sched_waveform.d b/DSP_API/Debug/SmartSDR_Interface/sched_waveform.d new file mode 100644 index 0000000..92b17c5 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/sched_waveform.d @@ -0,0 +1,79 @@ +SmartSDR_Interface/sched_waveform.d SmartSDR_Interface/sched_waveform.o: \ + ../SmartSDR_Interface/sched_waveform.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/datatypes.h ../SmartSDR_Interface/hal_buffer.h \ + ../SmartSDR_Interface/sched_waveform.h \ + ../SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/freedv_api.h \ + /src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/varicode.h \ + /src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/codec2_fdmdv.h \ + /src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/comp.h \ + /src/flex/smartsdr-dsp/DSP_API/circular_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/resampler.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/datatypes.h: + +../SmartSDR_Interface/hal_buffer.h: + +../SmartSDR_Interface/sched_waveform.h: + +../SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/freedv_api.h: + +/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/varicode.h: + +/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/codec2_fdmdv.h: + +/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV/comp.h: + +/src/flex/smartsdr-dsp/DSP_API/circular_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/resampler.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/smartsdr_dsp_api.d b/DSP_API/Debug/SmartSDR_Interface/smartsdr_dsp_api.d new file mode 100644 index 0000000..738b42e --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/smartsdr_dsp_api.d @@ -0,0 +1,63 @@ +SmartSDR_Interface/smartsdr_dsp_api.d \ + SmartSDR_Interface/smartsdr_dsp_api.o: \ + ../SmartSDR_Interface/smartsdr_dsp_api.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/traffic_cop.h \ + ../SmartSDR_Interface/discovery_client.h \ + ../SmartSDR_Interface/sched_waveform.h \ + ../SmartSDR_Interface/hal_buffer.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/traffic_cop.h: + +../SmartSDR_Interface/discovery_client.h: + +../SmartSDR_Interface/sched_waveform.h: + +../SmartSDR_Interface/hal_buffer.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/status_processor.d b/DSP_API/Debug/SmartSDR_Interface/status_processor.d new file mode 100644 index 0000000..3c1b567 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/status_processor.d @@ -0,0 +1,54 @@ +SmartSDR_Interface/status_processor.d \ + SmartSDR_Interface/status_processor.o: \ + ../SmartSDR_Interface/status_processor.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/traffic_cop.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/traffic_cop.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/subdir.mk b/DSP_API/Debug/SmartSDR_Interface/subdir.mk new file mode 100644 index 0000000..030e117 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/subdir.mk @@ -0,0 +1,60 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../SmartSDR_Interface/cmd_basics.c \ +../SmartSDR_Interface/cmd_engine.c \ +../SmartSDR_Interface/discovery_client.c \ +../SmartSDR_Interface/hal_buffer.c \ +../SmartSDR_Interface/hal_listener.c \ +../SmartSDR_Interface/hal_vita.c \ +../SmartSDR_Interface/io_utils.c \ +../SmartSDR_Interface/sched_waveform.c \ +../SmartSDR_Interface/smartsdr_dsp_api.c \ +../SmartSDR_Interface/status_processor.c \ +../SmartSDR_Interface/traffic_cop.c \ +../SmartSDR_Interface/utils.c \ +../SmartSDR_Interface/vita_output.c + +OBJS += \ +./SmartSDR_Interface/cmd_basics.o \ +./SmartSDR_Interface/cmd_engine.o \ +./SmartSDR_Interface/discovery_client.o \ +./SmartSDR_Interface/hal_buffer.o \ +./SmartSDR_Interface/hal_listener.o \ +./SmartSDR_Interface/hal_vita.o \ +./SmartSDR_Interface/io_utils.o \ +./SmartSDR_Interface/sched_waveform.o \ +./SmartSDR_Interface/smartsdr_dsp_api.o \ +./SmartSDR_Interface/status_processor.o \ +./SmartSDR_Interface/traffic_cop.o \ +./SmartSDR_Interface/utils.o \ +./SmartSDR_Interface/vita_output.o + +C_DEPS += \ +./SmartSDR_Interface/cmd_basics.d \ +./SmartSDR_Interface/cmd_engine.d \ +./SmartSDR_Interface/discovery_client.d \ +./SmartSDR_Interface/hal_buffer.d \ +./SmartSDR_Interface/hal_listener.d \ +./SmartSDR_Interface/hal_vita.d \ +./SmartSDR_Interface/io_utils.d \ +./SmartSDR_Interface/sched_waveform.d \ +./SmartSDR_Interface/smartsdr_dsp_api.d \ +./SmartSDR_Interface/status_processor.d \ +./SmartSDR_Interface/traffic_cop.d \ +./SmartSDR_Interface/utils.d \ +./SmartSDR_Interface/vita_output.d + + +# Each subdirectory must supply rules for building sources it contributes +SmartSDR_Interface/%.o: ../SmartSDR_Interface/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + arm-angstrom-linux-gnueabi-gcc -DDEBUG -I"/src/flex/smartsdr-dsp/DSP_API/CODEC2_FREEDV" -I"/src/flex/smartsdr-dsp/DSP_API" -I"/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface" -O0 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -g3 -ggdb -g3 -fstack-protector-all -funwind-tables -Wall -c -fmessage-length=0 -lpthread -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/DSP_API/Debug/SmartSDR_Interface/traffic_cop.d b/DSP_API/Debug/SmartSDR_Interface/traffic_cop.d new file mode 100644 index 0000000..3d8e076 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/traffic_cop.d @@ -0,0 +1,56 @@ +SmartSDR_Interface/traffic_cop.d SmartSDR_Interface/traffic_cop.o: \ + ../SmartSDR_Interface/traffic_cop.c \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/traffic_cop.h \ + ../SmartSDR_Interface/status_processor.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/traffic_cop.h: + +../SmartSDR_Interface/status_processor.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/utils.d b/DSP_API/Debug/SmartSDR_Interface/utils.d new file mode 100644 index 0000000..1c6e540 --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/utils.d @@ -0,0 +1,49 @@ +SmartSDR_Interface/utils.d SmartSDR_Interface/utils.o: \ + ../SmartSDR_Interface/utils.c /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/complex.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_buffer.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: diff --git a/DSP_API/Debug/SmartSDR_Interface/vita_output.d b/DSP_API/Debug/SmartSDR_Interface/vita_output.d new file mode 100644 index 0000000..63bdb3c --- /dev/null +++ b/DSP_API/Debug/SmartSDR_Interface/vita_output.d @@ -0,0 +1,56 @@ +SmartSDR_Interface/vita_output.d SmartSDR_Interface/vita_output.o: \ + ../SmartSDR_Interface/vita_output.c ../SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h \ + /src/flex/smartsdr-dsp/DSP_API/main.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h \ + /src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h \ + ../SmartSDR_Interface/complex.h ../SmartSDR_Interface/datatypes.h \ + ../SmartSDR_Interface/hal_buffer.h ../SmartSDR_Interface/hal_listener.h + +../SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/hal_listener.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/../common.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/datatypes.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/io_utils.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita_output.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita49_context.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/traffic_cop.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/utils.h: + +/src/flex/smartsdr-dsp/DSP_API/main.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/vita.h: + +/src/flex/smartsdr-dsp/DSP_API/SmartSDR_Interface/cmd.h: + +../SmartSDR_Interface/complex.h: + +../SmartSDR_Interface/datatypes.h: + +../SmartSDR_Interface/hal_buffer.h: + +../SmartSDR_Interface/hal_listener.h: diff --git a/DSP_API/Debug/circular_buffer.d b/DSP_API/Debug/circular_buffer.d new file mode 100644 index 0000000..f781000 --- /dev/null +++ b/DSP_API/Debug/circular_buffer.d @@ -0,0 +1,4 @@ +circular_buffer.d circular_buffer.o: ../circular_buffer.c \ + ../circular_buffer.h + +../circular_buffer.h: diff --git a/DSP_API/Debug/freedv b/DSP_API/Debug/freedv new file mode 100755 index 0000000000000000000000000000000000000000..029fb5ecc181f8323401ac36e892e192fe2cd1d6 GIT binary patch literal 2168301 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%0Da6-xtY!psi<1mfMgcFs6G& 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 z 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%0DwZbT%W#}+ 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

I7#0Zj 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%0AJ7 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